美文网首页
用 Python3 输出文字进度条

用 Python3 输出文字进度条

作者: jyjz2008 | 来源:发表于2019-01-02 13:20 被阅读0次

代码(程序名为 run.py)

#!/usr/local/bin/python3

import time

for i in range(100 + 1):
    print('\r', end='')
    print('progress bar: %s/100' % i, end='')
    time.sleep(0.05)

作用

每隔 0.05s 将文字格式的进度条刷新

效果展示

运行中(之一) 运行中(之二) 运行结束

原理

\r 字符的作用是回到行首。这样在输出 \r 后就可以覆盖之前的内容。

活学活用

例一

假设我们刚刚在终端输出了

Hello world

那么此时终端展示的就是

Hello world

然后向终端输出 \r,那么此时终端内容不变,但是光标会回到行首的位置。

此时输出 =^=,就会看到终端显示

=^=lo world
运行结果

用到的程序 (名为 a.py)

#!/usr/local/bin/python3

import time

print('Hello world', end='')
print('\r', end='')
print('=^=')

例二

与此类似,也可写一个程序,它最终输出一个字符,但是通过 wc 命令可以看到其实不止一个字符

用到的程序(名为 b.py)

#!/usr/local/bin/python3

import time

for i in range(10):
    print('\r', end='')
    print('a', end='')
./b.py | wc
image.png

相关文章

网友评论

      本文标题:用 Python3 输出文字进度条

      本文链接:https://www.haomeiwen.com/subject/ihiolqtx.html