提问人:Plem 提问时间:11/10/2023 最后编辑:JonSGPlem 更新时间:11/10/2023 访问量:25
导入后,一个全局 VAR,在 1 个模块中包含两个值
one global var with two values within 1 module after import
问:
我有这个多进程的多负载模块。打开另外两个模块。Module1 必须调用 module2 中的函数并更改(对于 module2 全局)var。但是在那次调用之后,module2 中存在该 var 的两个不同值。这个初学者很困惑......(-;
## module multiload.py
from subprocess import Popen
from time import sleep
t=1
Popen(['python3', 'module2.py'])
sleep(t)
Popen(['python3', 'module1.py'])
sleep(t)
## module module1.py
import time
print("to load")
import module2
print("loaded")
i=0
while True:
module2.changeVar(i)
print("module1",i)
print("module2.PLvar",module2.PLvar)
i+=1
time.sleep(3)
## module module2.py
import time
PLvar = 6
def changeVar(v):
global PLvar
PLvar = v
print("changeVar m2",PLvar) # this PLvar is changing with the loop in module1
def main():
while True:
global PLvar
print ("while m2",PLvar) # this PLvar is stuck at 6 (as assigned in line 3)
time.sleep(3)
print("module2",__name__)
if (__name__=="__main__"):
print("module 2 main started")
main()
答: 暂无答案
评论
#
module2.py
pickle
multiprocessing
lock()