在Python文本控制台中创建进度条/状态

时间:2012-11-06 12:41:18

标签: python python-2.7 progress-bar console-application

我正在编写一个小的Python脚本,用于检查几个域的记录。我就是这样做的:

if results.short == True:
        isonlist = False
        for dnsbls in L:
                try:
                        if  socket.gethostbyname("%s.%s" % (ip_reversed(results.IP), dnsbls)).startswith("127"):
                                isonlist = True
                except (socket.gaierror):
                        pass
        if isonlist == True:
                print "1"
        else:
                print "0"

else:
        pass

现在,如果它是有效记录则输出1,如果不是则输出0。

现在,我希望它显示一个进度条,就像你使用wget之类的东西一样。 试着这样做:

number = number + 1

但这会让我产生1 2 3 4等等。

3 个答案:

答案 0 :(得分:4)

我个人最喜欢的是python-progressbar。它快速且易于使用。

答案 1 :(得分:1)

当然,Python中有许多进度条实现。一些使用curses或类似的终端库(例如:http://nadiana.com/animated-terminal-progress-bar-in-python),其他使用简单的sys.stdout.write('\rstep %d of %d' % (step, max_steps))

注意\r的使用,这意味着您编写的文本将替换控制台上的当前行内容。

另请勿使用number = number + 1,请使用number += 1

答案 2 :(得分:1)

Giorgos Verigakis有他最新的,相当不错的https://github.com/verigak/progress