小编典典

如何为 popen 指定工作目录

all

有没有办法在 Python 中指定命令的运行目录subprocess.Popen()

例如:

Popen('c:\mytool\tool.exe', workingdir='d:\test\local')

我的 Python 脚本位于C:\programs\python

是否可以C:\mytool\tool.exe在目录中运行D:\test\local

如何设置子进程的工作目录?


阅读 128

收藏
2022-06-11

共1个答案

小编典典

subprocess.Popen
接受一个cwd参数来设置当前工作目录;您还需要转义反斜杠 (
'd:\\test\\local'),或使用r'd:\test\local'这样反斜杠不会被 Python
解释为转义序列。按照您编写的方式,该\t部分将被翻译成tab.

因此,您的新行应如下所示:

subprocess.Popen(r'c:\mytool\tool.exe', cwd=r'd:\test\local')

要将 Python 脚本路径用作 cwd,import os并使用以下命令定义 cwd:

os.path.dirname(os.path.realpath(__file__))
2022-06-11