gpt4 book ai didi

python - 线程上的启动方法因 TypeError 而失败

转载 作者:可可西里 更新时间:2023-11-01 14:04:11 24 4
gpt4 key购买 nike

我收到以下错误

错误:

tt.start()

TypeError: 'int' object is not callable

我将 threading.Thread 子类化以简单地跟踪时间,当耗时与传入的任意值匹配时,它会将匹配键的值从输入字典添加到队列中。另一个线程将定期检查队列以查找工作并在找到任何进程时进行处理。

这是抛出错误的代码:

class TimerQueue(threading.Thread):

def __init__(self, qyoo, kwargs):
threading.Thread.__init__(self)
self.queue = qyoo
self.work = kwargs
self.start = ceiling(time.time())
self.times = kwargs.keys()


def run(self):
while True:
for t in self.times:
if ceiling(time.time()) - self.start == t:
logger.debug("adding {} to the queue".format(self.work[t]))
self.queue.put(self.work[t])
time.sleep(1)

if __name__ == "__main__":
input_queue = queue.Queue()
tt = TimerQueue(input_queue, time_url_dict)
tt.start()

为什么我在调用开始时收到错误?这是在运行 Windows 7 的 Python 3.3.3 中。

最佳答案

在下一行中,代码用 int 对象(ceiling 的返回值)覆盖了 tt.start 方法。

self.start = ceiling(time.time())

self.start 重命名为其他名称,例如 self.start_time 以避免覆盖。

关于python - 线程上的启动方法因 TypeError 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20826430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com