Python通过参数指定popen工作目录

有没有一种方法来指定python的subprocess.Popen()命令的运行目录?

例如:

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

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

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

如何设置subprocess的工作目录?

subprocess.Popen 采用cwd参数来设置当前工作目录; 你也想逃避反斜杠( 'd:\\test\\local' ),或者使用r'd:\test\local'这样反斜杠就不会被Python解释为转义序列。 你写的方式, \t部分将被翻译成一个选项卡

所以,你的新行应该是这样的:

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

要使用Python脚本path作为cwd,使用以下命令import os并定义cwd:

 os.path.dirname(os.path.realpath(__file__))