【发布时间】:2015-02-02 21:46:37
【问题描述】:
我正在调用一个函数(无法修改)来分析数据,它可能需要几分钟到几小时才能完成。我正在尝试定期打印状态/进度,让用户知道分析仍在进行中。
自:
- 我不知道先验分析需要多长时间
- 我只能使用 Python 的标准库
然后使用进度条包将不起作用。我可以使用多处理来实现这一点:
import multiprocessing.pool import ThreadPool
import time
def analysis():
#Perform analysis that takes a long time and cannot be modified
pool = ThreadPool(processes=2)
t = pool.apply_async(func = analysis)
start_time = time.time()
while not t.ready():
print "Analyzing..."
time.sleep(2)
如果我可以避免使用多进程并且它可以像 linux“watch”命令那样简单地就地更新,那就太好了。
【问题讨论】:
标签: python python-2.7