我希望用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 module1.py时:
结果在这里,
module2
change
moduel1
moduel1..我要得到结果
module2
change
END PROGRAM发布于 2017-05-24 12:58:00
您需要将值声明为全局值,如果不这样做,则将变量作为新的局部变量处理。
def change():
global values
print "change"
values=Falsehttps://stackoverflow.com/questions/44155867
复制相似问题