我有一个python脚本,其中有一个全局变量,如下所示:
PROJ = os.getenv('PROJ')
我在软件中运行以执行脚本。
假设PROJ
的初始值是POP
,如果我通过用户界面将值更改为LOL
,那么当我运行我的脚本时,我原本期望PROJ
是LOL
,但结果是POP
有什么方法可以强迫这个全局变量以某种方式刷新或调用它?
答案 0 :(得分:2)
我真的不认为这是一个Python问题。相反,它是一个操作系统问题。
一般情况下,流程只会在创建时看到环境,而且不会收到更新。
请参阅:https://unix.stackexchange.com/questions/29128/how-to-read-environment-variables-of-a-process
答案 1 :(得分:1)
我将假设您更改了环境变量PROJ
,并且您的程序PROJ
未更新。当您致电PROJ = os.getenv('PROJ')
时,它不会将变量PROJ
绑定到os.getenv('PROJ')
,而只会在当前时间获取值 。你可以将它包装在一个函数中:
def updateProj():
PROJ = os.getenv('PROJ')
每次更新环境变量时,都必须调用updateProj()
来更新程序中的全局变量。