我必须在网络课程中编写一个类似选择性重复但需要计时器的程序。在谷歌搜索后我发现threading.Timer可以帮助我,我写了一个简单的程序只是为了测试如何threading.Timer工作是这样的:
import threading
def hello():
print "hello, world"
t = threading.Timer(10.0, hello)
t.start()
print "Hi"
i=10
i=i+20
print i
这个程序运行正常。
但是当我尝试以一种给出如下参数的方式定义hello函数时:
import threading
def hello(s):
print s
h="hello world"
t = threading.Timer(10.0, hello(h))
t.start()
print "Hi"
i=10
i=i+20
print i
出局是:
hello world
Hi
30
Exception in thread Thread-1:
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py", line 522, in __bootstrap_inner
self.run()
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py", line 726, in run
self.function(*self.args, **self.kwargs)
TypeError: 'NoneType' object is not callable
我不明白这是什么问题!
谁能帮我?