我希望通过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
答案 0 :(得分:0)
您需要将值声明为全局值,如果不这样做,则将变量作为新的局部变量处理。
def change():
global values
print "change"
values=False