有没有办法在Pythonsubprocess.Popen()
中指定命令的运行目录?
例如:
Popen('c:\mytool\tool.exe', workingdir='d:\test\local')
我的Python脚本位于C:\programs\python
可以在目录D:\test\local
中运行C:\mytool\tool.exe
吗?
如何设置子进程的工作目录?
有没有办法在Pythonsubprocess.Popen()
中指定命令的运行目录?
例如:
Popen('c:\mytool\tool.exe', workingdir='d:\test\local')
我的Python脚本位于C:\programs\python
可以在目录D:\test\local
中运行C:\mytool\tool.exe
吗?
如何设置子进程的工作目录?
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__))