python - 从脚本 python 获取变量环境的变化

标签 python linux shell

我有一个 python 脚本,它运行一个 set_env.sh 文件。 稍后,我可以将这个新的变量环境更改为 set_env.sh 可能吗?

set_env.sh

var1="value1" var2="value2" var3="value3"

get_env.py

import os
os.system("set_env.sh")
print os.environ['var1']

结果:KeyError:'var1'

我知道我可以在 python 文件中使用 os.environ['var1'] = 'value' (或设置 var env)。 但我只能从 shell 文件访问此环境信息。

你能帮我吗?

最佳答案

我的临时解决方案是

(?P<variable>[\w]*)[ ]*[\=][ ]*[\"|\']{0,1}(?P<value>[\w]*)[\"|\']{0,1}

Regular expression visualization

Debuggex Demo

        enviroment_regex = "(?P<variable>[\w]*)[ ]*[\=][ ]*[\"|\']{0,1}(?P<value>[\w]*)[\"|\']{0,1}"
        match_object = re.search( enviroment_regex, open("set_env.sh", "r").read() )
        os.environ[match_object.group("variable")] = match_object.group("value")

关于python - 从脚本 python 获取变量环境的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25538265/

相关文章:

regex - 我需要通过 shell 脚本评论一个具有精确模式匹配的文件

linux - mpm-itk 安装 -- make : missing: Command not found on ubuntu

mongodb - 获取 Ubuntu 服务器中的最新文件夹

python - 如何使用 Python 写入硬件寄存器?

python - Python如何知道已经存储在其内存中的值?

python - 在树莓派上记录 python 错误

python - 如何重命名将使用以下程序下载的 .wav 文件?

c++ - Linux 和 MSVC Win32 上 C++ 中模板类实现之间的差异

c - 如果我要用汇编编写程序,这个 HelloWorld 汇编代码的哪些部分是必不可少的?

regex - 在 bash 中使用正则表达式查找文件