天天看点

Python实现控制台输出文本进度条

主要用到了print中的\r,转义字符写进字符串,意义为光标返回当前行首格,配合end=''即可实现不换行打印新内容同时删除旧内容。

主要用到了print中的\r,转义字符写进字符串,意义为​

​光标返回当前行首格​

​​,配合​

​end=''​

​​即可实现不换行打印新内容同时删除旧内容。

​​​Python基础 | 字符串格式化输出及print()函数介绍​​

样式一:

import time
for i in range(1, 101):
    print("\r{:3}%".format(i), end="")
    time.sleep(0.1)      
Python实现控制台输出文本进度条

样式二:

import time
for i in range(1, 101):
    print(f'\r{"▇" * (i // 2)} {i:.0f}%', end='')
    time.sleep(0.1)      
Python实现控制台输出文本进度条

样式...(自己来点创意呗)

如果我循环次数不是100怎么办?

Python实现控制台输出文本进度条

看下图,改我框起来的地方。有时候可能进度条到99%就停下来了,因为​

​range(1,256)​

​​,实际最后的​

​i​

​只有255就结束了,而除的是256,所以,应该知道怎么改的吧~

Python实现控制台输出文本进度条

如果觉得进度条太长怎么办,继续看图

​注意,因为是字符串计算,必须是字符串整数倍​

Python实现控制台输出文本进度条

我用的是​

​PyCharm​

​​输出,不是自带的​

​IDLE​

​(见下图),其它的平台还没试过,感兴趣的可以去尝试尝试喔~

Python实现控制台输出文本进度条