一尘不染

Python进度条

python

当脚本执行可能需要花费时间的某些任务时,如何使用进度条?

例如,一个需要一些时间才能完成并True在完成后返回的函数。在执行功能期间如何显示进度条?

请注意,我需要做到这一点是实时的,所以我不知道该怎么做。我需要thread这个吗?我不知道。

现在,我在执行函数时不打印任何内容,但是进度条会很不错。另外,我对如何从代码角度完成此操作更感兴趣。


阅读 415

收藏
2020-02-18

共1个答案

一尘不染

有特定的库(例如此处的库),但也许很简单的方法可以做到:

import time
import sys

toolbar_width = 40

# setup toolbar
sys.stdout.write("[%s]" % (" " * toolbar_width))
sys.stdout.flush()
sys.stdout.write("\b" * (toolbar_width+1)) # return to start of line, after '['

for i in xrange(toolbar_width):
    time.sleep(0.1) # do real work here
    # update the bar
    sys.stdout.write("-")
    sys.stdout.flush()

sys.stdout.write("]\n") # this ends the progress bar
2020-02-18