简体   繁体   English

Python 子进程导出环境变量(使用其他环境变量)

[英]Python subprocess export environment variables (which use other environment variable)

I want to replicate the following bash export command in Python:我想在 Python 中复制以下 bash 导出命令:

export my_shell=$SHELL

If I execute the above command in bash and echo after that:如果我在 bash 中执行上述命令并在此之后回显:

echo $my_shell  
/bin/bash

How do this in Python?在 Python 中如何做到这一点? I know we can use export command (which does not use environment variable) using os.environ() like following:我知道我们可以使用os.environ()使用 export 命令(不使用环境变量),如下所示:

import os
os.environ['my_shell'] = "my_shell_string" 

but how to pass another environment variable (in this case: $SHELL ) as an input when exporting like above?但是如何在像上面那样导出时传递另一个环境变量(在这种情况下: $SHELL )作为输入?

You can use a value from os.environ dictionary as rvalue as well:您也可以使用os.environ字典中的值作为右值:

#!/usr/bin/env python3

import os
print(f"SHELL: {os.environ['SHELL']}")
os.environ['my_shell'] = os.environ['SHELL']
print(f"my_shell: {os.environ['my_shell']}")

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM