Answers:
subprocess.Popen 接受一个cwd参数来设置当前工作目录;您还需要转义反斜杠('d:\\test\\local'),或使用,r'd:\test\local'以便Python不会将反斜杠解释为转义序列。按照您编写的方式,\t零件将被翻译为tab。
因此,您的新行应如下所示:
subprocess.Popen(r'c:\mytool\tool.exe', cwd=r'd:\test\local')
要将Python脚本路径用作cwd,import os并使用以下命令定义cwd:
os.path.dirname(os.path.realpath(__file__))
shell=False,您不能使用诸如这样的内建外壳cd:即,在两种外壳上都可以在Linux上进行尝试:subprocess.Popen("cd /tmp; pwd")
subprocess.call(["C:/Users/Bob/Some.exe"], cwd="C:/Users/Jane/"),它也可以正常工作