在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
刷新输出,实现动态更新进度条。