强制全局变量刷新

时间:2017-08-05 01:27:48

标签: python environment-variables

我有一个python脚本,其中有一个全局变量,如下所示: PROJ = os.getenv('PROJ')我在软件中运行以执行脚本。

假设PROJ的初始值是POP,如果我通过用户界面将值更改为LOL,那么当我运行我的脚本时,我原本期望PROJLOL,但结果是POP

有什么方法可以强迫这个全局变量以某种方式刷新或调用它?

2 个答案:

答案 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()来更新程序中的全局变量。