有没有办法在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__)) 

Python相关问答推荐

在Python中管理多个OpenGVBO和VAO实例

当值是一个integer时,在Python中使用JMESPath来验证字典中的值(例如:1)

如何使用上下文管理器创建类的实例?

通过优化空间在Python中的饼图中添加标签

Select 用a和i标签包裹的复选框?

acme错误-Veritas错误:模块收件箱没有属性linear_util'

Pandas实际上如何对基于自定义的索引(integer和非integer)执行索引

连接两个具有不同标题的收件箱

对某些列的总数进行民意调查,但不单独列出每列

Vectorize多个头寸的止盈/止盈回溯测试pythonpandas

当从Docker的--env-file参数读取Python中的环境变量时,每个\n都会添加一个\'.如何没有额外的?

Stacked bar chart from billrame

如何使Matplotlib标题以图形为中心,而图例框则以图形为中心

在www.example.com中使用`package_data`包含不包含__init__. py的非Python文件

为什么if2/if3会提供两种不同的输出?

为什么调用函数的值和次数不同,递归在代码中是如何工作的?

判断Python操作:如何从字面上得到所有decorator ?

如何获取包含`try`外部堆栈的`__traceback__`属性的异常

如何防止html代码出现在quarto gfm报告中的pandas表之上

read_csv分隔符正在创建无关的空列