我在Windows 10上使用Python 2.7。我有两个过程:
import cfg
from myfile import myfunction
from myfile2 import myfunction2
def proc1():
while 1:
myfunction()
def proc2():
while 1:
myfunction2()
if __name__ == '__main__':
Process(target=proc1).start()
Process(target=proc2).start()
和三个文件; cfg作为全局变量框:
var = 0
myfile:
import cfg
def myfunction():
if cfg.var == 0:
cfg.var = 1
else:
cfg.var = 0
和myfile2:
import glb
def myfunction2():
print(glb.var)
我希望myfunction2打印一个0和1的序列,但实际上它只打印零(初始值)。
假设我可以在主文件中定义myfunction和myfunction2,结果是相同的。
我的最终目标是获取一些可以在myfunction中实时更新的数据,并在myfunction2中进行实时处理,因此由于速度问题,我无法将数据存储在文件中并上传它们在myfuncion2中。
我也尝试过使用PyCharm环境变量作为全局变量,但它不符合我的需求。几个星期以来,我一直陷入这个问题:/。
我所需要的一切都是一种定义变量的方式,该变量在项目内所有文件之间共享。
有人有什么建议吗?我先谢谢你