有没有在Python的subprocess.Popen()指定命令的运行目录的方式?

例如:

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

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

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

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

有帮助吗?

解决方案

subprocess.Popen href="http://docs.python.org/library/subprocess.html#using-the-subprocess-module" rel="noreferrer">需要cwd参数以设置当前工作目录;你也想逃离你的反斜杠('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__)) 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top