python 进度条,Python 实现进度条的代码方式(图文详解1)
Python 中实现进度条的常见方式有以下几种:
- 使用
tqdm
库 - 手动实现进度条
- 底层原理: 手动实现进度条需要控制光标位置,并使用特殊字符如
#
、=
等来表示进度。通过输出回退和覆盖的方式来更新进度条。 - 使用步骤:
- 确定进度条的总长度和当前进度
- 计算进度条的显示比例
- 使用特殊字符输出进度条并更新光标位置
- 添加其他信息如百分比、剩余时间等
- 示例代码:
import time import sys def progress_bar(progress, total, length=50, fill='█', empty='-'): percent = 100 * (progress / float(total)) filled = int(length * progress // total) bar = fill * filled + empty * (length - filled) print(f'\r[{bar}] {percent:.2f}%', end='\r') if progress == total: print() # 使用示例 for i in range(101): progress_bar(i, 100) time.sleep(0.1)
- 底层原理: 手动实现进度条需要控制光标位置,并使用特殊字符如
- 使用
sys.stdout.write()
实现- 底层原理: 使用
sys.stdout.write()
在控制台直接输出进度条,并使用\r
回车符更新光标位置来实现进度条的动态更新。 - 使用步骤:
- 确定进度条的总长度和当前进度
- 计算进度条的显示比例
- 使用
sys.stdout.write()
输出进度条并使用\r
回车符更新光标位置 - 添加其他信息如百分比、剩余时间等
- 示例代码:
import sys import time def progress_bar(progress, total, length=50): percent = 100 * (progress / float(total)) bar = '█' * int(length * progress // total) + '-' * (length - int(length * progress // total)) sys.stdout.write(f"\r[{bar}] {percent:.2f}%") sys.stdout.flush() if progress == total: sys.stdout.write('\n') # 使用示例 for i in range(101): progress_bar(i, 100) time.sleep(0.1)
- 底层原理: 使用
以上三种方式都可以实现进度条的显示,选择哪种方式取决于具体的需求和个人偏好。tqdm
库提供了更丰富的功能和样式选择,而手动实现和使用 sys.stdout.write()
则更灵活,可以根据需求进行定制。
python随机数函数random,详解python随机数函数random,Python random.random(生成随机浮点数)函数的使用方法(图文详解)
Linux报 “disk quota exceeded” 异常的原因以及解决办法(图文详解)