在Python中实现进度条可以使用print
函数结合sys.stdout.write
和sys.stdout.flush
来实现。以下是一个简单的示例代码:
import sys import time def progress_bar(total, progress): bar_length = 50 progress = float(progress) / float(total) arrow = '=' * int(round(progress * bar_length)) spaces = ' ' * (bar_length - len(arrow)) sys.stdout.write('\rProgress: [{0}] {1}%'.format(arrow + spaces, int(progress * 100))) sys.stdout.flush() total = 100 for i in range(total): progress_bar(total, i+1) time.sleep(0.1) print("\nProcess completed!")
在上面的代码中,progress_bar
函数接受两个参数total
和progress
,分别表示总的进度和当前的进度。然后根据当前进度计算进度条的长度,并使用sys.stdout.write
输出进度条。最后使用sys.stdout.flush
刷新输出,实现动态更新进度条。