【发布时间】:2015-12-10 21:30:36
【问题描述】:
在我复杂的 python 程序中,当它运行时,我有一段每 3 秒执行一次的代码,它将程序的进度打印为执行完成的百分比,如下所示:
while len(dequeueingFinishedList)!=10:
print(str(len(masterListCSV_RowsListFinished)/float(len(masterListCSV_RowsList))*100) + "% done.")
time.sleep(3)
time.sleep() 函数会减慢我的程序吗?我读了那个睡眠功能暂停执行。如果它减慢了我的程序,是否有更正确的方法可以每 3 秒向我打印一次进度?
【问题讨论】:
-
它会睡觉,就像你睡着了一样。
-
我认为实际上还有另一个线程在做这项工作?
-
@njzk 是的,我有大约 10 个线程在做自己的工作。
-
是的,它会阻塞在那里直到时间到期。要在保持程序运行的同时使用计时器进行输出,请使用带有
threading.Timer的线程。