subprocess.call 环境变量

问题描述

我使用 Popen 是因为我需要 env,如下所示:

I'm using Popen because I need the env, like this:

Popen(
    ["boto-rsync", "..."],
    env={"PATH":"/Library/Frameworks/Python.framework/Versions/2.7/bin/"},
    )

问题是 Popen 将命令作为新线程运行.有什么方法可以将 env 传递给 subprocess.call 或阻止 Popen 创建新线程?谢谢

The problem is Popen runs the command as a new thread. Is there any way that I could pass the env to subprocess.call or prevent Popen from creating a new thread? Thanx


解决方案

您可以使用 env 与 call 的方式与 popen 完全相同:

You can use env with call in the exact same way as with popen:

subprocess.call(
    ["boto-rsync", "..."],
    env={"PATH":"/Library/Frameworks/Python.framework/Versions/2.7/bin/"},
    )

相关文章