用print在CLI界面打印进度条

2019年12月14日 / 104次阅读 / Last Modified 2020年5月23日
print

再来一个关于print函数向屏幕打印输出的case,这次是打印进度条,同时介绍关于print函数的几个不太常用的参数。

用print函数打印进度条,代码如下:

import time


def progress(percent=0, width=30):
    left = width * percent // 100
    right = width - left
    print('\r[', '#' * left, ' ' * right, ']',
          f' {percent:.0f}%',
          sep='', end='', flush=True)

          
for i in range(101):
    progress(i)
    time.sleep(0.1)

print函数使用了\r进行同行打印输出;sep表示分隔符,默认是空格,这里定义为空;end表示结束符,默认是\n换行;flush表示是否缓存,默认是false,在有些情况下,python不会实时向stdout输出,这里设置为true,即取消缓存,实时输出。

这段代码的运行效果如下:

用print在CLI界面打印进度条
用print在CLI界面打印进度条

这个进度条的效果还不赖吧!:)

-- EOF --

本文链接:https://www.pynote.net/archives/1615

留言区

《用print在CLI界面打印进度条》有1条留言

电子邮件地址不会被公开。 必填项已用*标注

  • 麦新杰

    print函数的flush参数,在实时获取subprocess子进程的输出时,很有用! [回复]


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top