Python:子流程中的永久外壳变量
问题内容:
我正在尝试使用Pythons子进程模块执行一系列命令,但是我需要在运行它们之前使用export设置shell变量。当然,shell似乎不是持久性的,因此稍后运行命令时,这些shell变量将丢失。
有什么办法可以解决这个问题吗?我可以创建一个/ bin / sh进程,但是如何获取在其下运行的命令的退出代码?
问题答案:
subprocess.Popen
接受一个可选的命名参数env
,该参数是一个字典,用作子进程的环境(您将其描述为“
shell变量”)。根据需要准备一个字典(可以从复制副本开始,os.environ
然后根据需要进行更改),然后将其传递给subprocess.Popen
您执行的所有呼叫。