【发布时间】:2021-01-30 23:53:27
【问题描述】:
我需要启动一个进程,将一些参数传递给环境变量中的子进程。
我知道我可以使用 subprocess.run() 在 python > 3.5 中执行此操作。如何使用 python 2.7 做到这一点?
在 python 2.7 中,我可以修改启动子进程的进程的环境变量。子进程将继承环境变量。但我不希望那样。我只想在子进程中设置环境变量。
【问题讨论】:
标签: python-2.7 subprocess
我需要启动一个进程,将一些参数传递给环境变量中的子进程。
我知道我可以使用 subprocess.run() 在 python > 3.5 中执行此操作。如何使用 python 2.7 做到这一点?
在 python 2.7 中,我可以修改启动子进程的进程的环境变量。子进程将继承环境变量。但我不希望那样。我只想在子进程中设置环境变量。
【问题讨论】:
标签: python-2.7 subprocess
使用:subprocess.Popen('env', env={'A':'5','B':'5'})
示例运行:
>>> import subprocess
>>> subprocess.Popen('env', env={'A':'5','B':'5'})
<subprocess.Popen object at 0x102288950>
>>> A=5
B=5
来自docs:
如果 env 不是 None,它必须是定义环境的映射 新流程的变量;这些被使用而不是继承 当前进程的环境,这是默认行为。
Python3 subprocess.run() 与 using 相同 Popen kwarg env:
完整的函数签名与 Popen 的签名大致相同 构造函数
【讨论】: