如何为popen指定工作目录

时间:2009-11-06 03:06:22

标签: python subprocess popen

有没有办法在Python的subprocess.Popen()

中指定命令的运行目录

例如:

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

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

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

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

1 个答案:

答案 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__))