我正在尝试编写一个脚本,每10秒更新一个全局变量。为了简单起见,我们只需增加q一次的教学时间
import time, threading
q = 0
def f(q):
# get asset position every 10 seconds:
q += 1
print q
# call f() again in 10 seconds
threading.Timer(10, f).start()
# start calling f now and every 10 sec thereafter
f(q)相反,python说:
UnboundLocalError: local variable 'q' referenced before assignment更改变量q的正确方法是什么?
此示例使用线程,不更新任何值。Run certain code every n seconds
发布于 2014-07-23 01:38:07
您需要显式声明q为全局的。否则,q += 1会混淆解释器。
import threading
q = 0
def f():
global q
q += 1
print q
threading.Timer(10, f).start()
f()https://stackoverflow.com/questions/24900460
复制相似问题