网络编程
位置:首页>> 网络编程>> Python编程>> Python制作运行进度条的实现效果(代码运行不无聊)

Python制作运行进度条的实现效果(代码运行不无聊)

作者:叶庭云  发布时间:2021-04-11 15:46:10 

标签:Python,运行,进度条

一、普通进度条


import sys
import time

# 普通进度条
# 在代码迭代运行中进行统计计算,并使用格式化字符串输出代码运行进度
def progress_bar():
for i in range(1, 101): # 1-100
 print("\r", end="") # \r 表示将光标的位置回退到本行的开头位置
 print("Download progress: {} {}%".format("▋" * (i // 2), i), end="")
 sys.stdout.flush()  # sys.stdout.flush()的作用就是显示地让缓冲区的内容输出。
 time.sleep(0.02)
progress_bar()

运行效果如下:

Python制作运行进度条的实现效果(代码运行不无聊)

二、带时间的进度条


import time

scale = 50

start = time.perf_counter() # 返回性能计数器的值(以秒为单位)
for i in range(scale + 1):
progress_bar = "▋" * i
completion_ratio = (i / scale) * 100
dur_time = time.perf_counter() - start
print("\rDownload Process:{:^3.0f}% [{}] {:.2f}s".format(completion_ratio, progress_bar, dur_time),end = "")
time.sleep(0.1)

运行效果如下:

Python制作运行进度条的实现效果(代码运行不无聊)

三、利用tpdm生成进度条


from time import sleep
from tqdm import tqdm
# 里面传入一个可迭代对象
for i in tqdm(range(1, 101)):
# 模拟你的任务
sleep(0.05)

sleep(0.5)

运行效果如下:

Python制作运行进度条的实现效果(代码运行不无聊)

四、利用progress生成进度条


import time
import progressbar

def custom_len(value):
# These characters take up more space
characters = {
 '进': 3,
 '度': 3,
}

total = 0
for c in value:
 total += characters.get(c, 1)

return total
bar = progressbar.ProgressBar(
widgets=[
 '进度: ',
 progressbar.Bar(marker='#', left='|', right='|'),
 ' ',
 progressbar.Counter(format='%(value)02d/%(max_value)d'),
],
len_func=custom_len,
)
for i in bar(range(100)):
time.sleep(0.05)

运行效果如下:

Python制作运行进度条的实现效果(代码运行不无聊)

来源:https://blog.csdn.net/fyfugoyfa/article/details/108542672

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com