目前我在python中发现了一些错误,但我似乎找不到它们
def dictionaryObjectParsed():
a = []
b = []
a, b = zip(*(map(lambda x: x.rstrip('\n\r').split('\t'), open('/Users/settingj/Desktop/NOxMultiplier.csv').readlines())))
for x in range(0,len(a)):
print a[x]
print b[x]
def timer(f):
threading.Timer(1, timer, f).start()
print time.strftime('%I:%M:%S %p %Z')
timer(dictionaryObjectParsed)
这是我得到的错误
^{pr2}$我可以早些时候这样做,但我想我做了一些事情,造成这个错误,什么见鬼:(
我显然是在给计时器函数传递参数。。。正确的?在
编辑
我也试过timer(dictionaryObjectParsed)
但什么也没有。。。在
另外,很抱歉,这只是我在python的第二天。。。:P
实例化Timer Instance的实际语法是
在你的实施中有两个问题
我相信,您的目的是注册函数参数,而不是调用函数。最终会将您的实现更改为
^{pr2}$但是由于一些奇怪的原因,如果要注册调用函数,还需要将参数作为参数传递给线程。计时器,符合文档中的语法
^{3}$您有多个错误。在
试试这个:
注意,在最后一行,您希望传递函数,而不是调用函数的结果。在
请注意,在
threading.Timer ...
行上,您需要传递足够的参数,以使timer()
的后续调用具有正确数量的参数。在注意没有它的新行,
dictionaryObjectParsed
将永远不会被调用!在传递函数而不调用它(删除“()”)。。在
以及
^{pr2}$而不是
^{3}$我认为,您试图创建一个递归计时器函数是错误的。您得到的错误是在没有函数参数的情况下再次调用函数“timer”。我认为这是个简单的错误。在
好的,那么您确实需要一个递归函数,那么试试这个:
工作了吗?在
相关问题 更多 >
编程相关推荐