[英]Change global variable in Python in another thread
我想通过module2.py更改module1.py中的全局变量。
module1.py
#!/usr/bin/env python
import threading
import module2 as module22
import time
values=True
def main():
print "m"
def thread():
while(values):
print "moduel1"
time.sleep(0.50)
print "END PROGRAM"
def change():
print "change"
values=False
if __name__ == "__main__":
t2=threading.Thread(target=module22.main())
t1=threading.Thread(target=thread())
t1.start()
t2.start()
t1.join()
t2.join()
module2.py
#!/usr/bin/env python
import module1 as module11
def main():
print "module2"
module11.change()
if __name__ == "__main__":
main()
当我运行sudo python module1.py时:
结果在这里
module2
change
moduel1
moduel1..
我想要结果
module2
change
END PROGRAM
您需要将值声明为全局值,如果不这样做,则该变量将作为新的局部变量处理。
def change():
global values
print "change"
values=False
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.