有没有办法在 Python 中指定命令的运行目录subprocess.Popen()?
subprocess.Popen()
例如:
Popen('c:\mytool\tool.exe', workingdir='d:\test\local')
我的 Python 脚本位于C:\programs\python
C:\programs\python
是否可以C:\mytool\tool.exe在目录中运行D:\test\local?
C:\mytool\tool.exe
D:\test\local
如何设置子进程的工作目录?
subprocess.Popen 接受一个cwd参数来设置当前工作目录;您还需要转义反斜杠 ( 'd:\\test\\local'),或使用r'd:\test\local'这样反斜杠不会被 Python 解释为转义序列。按照您编写的方式,该\t部分将被翻译成tab.
subprocess.Popen
cwd
'd:\\test\\local'
r'd:\test\local'
\t
tab
因此,您的新行应如下所示:
subprocess.Popen(r'c:\mytool\tool.exe', cwd=r'd:\test\local')
要将 Python 脚本路径用作 cwd,import os并使用以下命令定义 cwd:
import os
os.path.dirname(os.path.realpath(__file__))