有没有办法在Python的subprocess.Popen()
?
例如:
Popen('c:\mytool\tool.exe', workingdir='d:\test\local')
我的Python脚本位于C:\programs\python
是否可以在目录C:\mytool\tool.exe
中运行D:\test\local
?
如何设置子流程的工作目录?
答案 0 :(得分:238)
subprocess.Popen
takes a cwd
argument设置当前工作目录;你还想要转义反斜杠('d:\\test\\local'
),或使用r'd:\test\local'
,以便Python不会将反斜杠解释为转义序列。编写方式后,\t
部分将被翻译为标签。
因此,您的新行应如下所示:
subprocess.Popen(r'c:\mytool\tool.exe', cwd=r'd:\test\local')
将您的Python脚本路径用作cwd,import os
并使用以下命令定义cwd:
os.path.dirname(os.path.realpath(__file__))