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