更改流程变量

时间:2019-05-15 10:37:39

标签: python python-3.x communication interprocess

我有一个python程序,它根据给定的全局变量“ a”的值定期执行一些工作。 另一个python程序如何将“ a”的值更改为(假设)20?

a = 10
def run_program():
    global a
    while True:
        time.sleep(1)
        print(a)

我尝试使用OS信号,但是信号(例如USR1)无法传递变量

有帮助吗?

1 个答案:

答案 0 :(得分:1)

您可以使用环境变量,在第一个程序中对其进行修改,然后在第二个程序中对其进行使用:

程序一:

import os
# Set environment variables
os.environ['YOUR_VARIABLE'] = 10

程序二:

import os
def run_program():
    a = os.environ.get('YOUR_VARIABLE')
    while True:
        time.sleep(1)
        print(a)

还请注意,使用这种想法可以避免使用全局变量。