• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

python 搞代码 4年前 (2022-01-09) 43次浏览 已收录 0个评论
文章目录[隐藏]

一、普通进度条

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()

运行效果如下:

二、带时间的进度条

import time

scale = 50

start = time.perf_counter() # 返回性能计数器的值(以秒为单位)
fo<i style="color:transparent">本文来源gaodai$ma#com搞$$代**码)网8</i>r 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)

运行效果如下:

三、利用tpdm生成进度条

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

sleep(0.5)

运行效果如下:

四、利用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制作运行进度条的实现效果(代码运行不无聊)的文章就介绍到这了,更多相关Python运行进度条 内容请搜索搞代码以前的文章或继续浏览下面的相关文章希望大家以后多多支持搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python制作运行进度条的实现效果(代码运行不无聊)
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址