16

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

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

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

4

1 回答 1

27

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

subprocess.call(
    ["boto-rsync", "..."],
    env={"PATH":"/Library/Frameworks/Python.framework/Versions/2.7/bin/"},
    )
于 2012-07-05T20:21:36.887 回答