pythonprint函数结合字符串的格式化来实现非刷新文本进度条和单行刷新文本任务
时间: 2024-09-24 21:28:11 浏览: 73
在Python中,你可以使用`print()`函数配合格式化字符串以及时间戳来实现一个简单的文本进度条。这里是一个基础的示例,展示了如何使用递增的百分比表示任务进度:
```python
import time
def progress_bar(total_steps, current_step=0):
width = 50 # 进度条宽度
fill_char = '#' # 已完成部分字符
empty_char = ' ' # 未完成部分字符
percent = (current_step / total_steps) * 100 if total_steps > 0 else 0
filled = int(width * percent // 100)
bar = fill_char * filled + empty_char * (width - filled)
progress_str = f"【{bar}】 {int(percent)}% 完成"
# 如果需要实时更新,可以每秒打印一次
print(f'\r{progress_str}', end='', flush=True) # '\r'用于保留前一行,'end='' '防止换行,'flush=True'立即刷新输出
if current_step == total_steps - 1:
print() # 当任务完成时,换行并清空进度条
# 使用例子
total_steps = 100
for i in range(total_steps):
time.sleep(0.1) # 模拟耗时操作
progress_bar(i+1)
```
在这个示例中,通过`time.sleep()`模拟长时间运行的任务,并在每次循环中更新进度。当任务完成后,会自动换行清除旧的进度条。
阅读全文