python 实现终端打印进度条代码
时间: 2023-11-13 12:09:32 浏览: 109
以下是 Python 实现终端打印进度条的代码示例:
```python
import time
def update_progress(progress):
"""
终端打印进度条
:param progress: 进度条百分比,取值范围 [0, 1]
"""
bar_length = 50 # 进度条长度
block = int(round(bar_length * progress))
text = "\r[{}] {:.0%}".format("#" * block + "-" * (bar_length - block), progress)
print(text, end="", flush=True)
if __name__ == "__main__":
for i in range(101):
progress = i / 100
update_progress(progress)
time.sleep(0.05)
```
在这个示例中,`update_progress` 函数接受一个 `progress` 参数,它表示进度条的百分比,取值范围为 `[0, 1]`。我们使用 `bar_length` 定义了进度条的长度,并根据 `progress` 计算出当前的进度条长度 `block`。然后,我们使用字符串格式化将进度条和百分比打印到终端上,并使用 `\r` 实现光标移动,每次更新进度条时使用 `end=""` 和 `flush=True` 保证及时刷新输出。
最后,在 `main` 函数中,我们模拟了一个循环,每次更新进度条,并使用 `time.sleep` 函数模拟了一些耗时操作。
阅读全文