无法使用交叉模块变量python

时间:2017-09-21 15:11:51

标签: python

我不断在一个模块中更改变量并尝试在另一个模块中使用该变量。但是我没有看到更新的变量。 例如。 我有check.py

total_time=0

我有check_1.py,它会从check.py增加total_time

import check
for i in range(6):
    check.total_time +=1
    sleep(4)

我有check_2.py需要使用递增的值

import check
for i in range(5):
    print "in check 2 , total time is ", check.total_time
    sleep(3)

我正在同时运行check_1和check_2。 check_1继续增加价值。 但是check_2总是打印0,而我希望它打印更新的增加值。 我不确定我在这里缺少什么。

1 个答案:

答案 0 :(得分:0)

我是否理解您是否希望在通用模块中使用变量在两个单独的Python脚本之间传输数据?

如果这是您认为会发生的事情,那么您会错误地假设。这两个脚本都可以访问变量。否则你会得到一个例外。

但是,尽管包含相同的Python模块,但这些脚本操作完全不同的内存段,这些内存段彼此独立。两个程序都有check.total_time的独立副本,他们永远不会看到其他程序的变量。

在脚本之间共享数据有几种可能性。其中一些在这里讨论:How to share variables across scripts in python?