使用 subprocess.Popen 中的 env 参数可以设置子进程的环境变量。env 参数应该是一个字典,其中键是环境变量的名称,值是环境变量的值。
以下是一个示例代码,演示如何使用 subprocess.Popen 设置子进程的环境变量:
import subprocess
# 设置环境变量
env = {'CUSTOM_VAR': 'custom_value'}
# 启动子进程
process = subprocess.Popen('echo $CUSTOM_VAR', shell=True, env=env, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# 等待子进程结束
stdout, stderr = process.communicate()
# 打印子进程输出
print(stdout.decode('utf-8'))
在上面的示例中,我们设置了一个名为 CUSTOM_VAR 的环境变量,并在子进程中通过 echo $CUSTOM_VAR 命令打印出其值。最后,我们通过 process.communicate() 方法获取子进程的输出并打印出来。