Python进度条的制作代码实例
作者:NAVYSUMMER 时间:2022-01-01 23:17:34
这篇文章主要介绍了Python进度条的制作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
import sys,time
#导入模块
for i in range(50):
#进度条的长度
sys.stdout.write("#")
#进度条的内容,这里要注意了,pycharm有可能不显示write的方法
sys.stdout.flush()
#刷新缓存
time.sleep(0.5)
#间隔时间,和shell的sleep差不多吧
或者
import sys
class progressbar(object):
def __init__(self, finalcount, block_char='.'):
self.finalcount = finalcount
self.blockcount = 0
self.block = block_char
self.f = sys.stdout
if not self.finalcount:
return
self.f.write('\n------------------ % Progress -------------------1\n')
self.f.write(' 1 2 3 4 5 6 7 8 9 0\n')
self.f.write('----0----0----0----0----0----0----0----0----0----0\n')
def progress(self, count):
count = min(count, self.finalcount)
if self.finalcount:
percentcomplete = int(round(100.0 * count / self.finalcount))
if percentcomplete < 1:
percentcomplete = 1
else:
percentcomplete = 100
blockcount = int(percentcomplete // 2)
if blockcount <= self.blockcount:
return
for i in range(self.blockcount, blockcount):
self.f.write(self.block)
self.f.flush()
self.blockcount = blockcount
if percentcomplete == 100:
self.f.write("\n")
if __name__ == "__main__":
from time import sleep
pb = progressbar(8, "*")
for count in range(1, 9):
pb.progress(count)
sleep(0.2)
pb = progressbar(100)
pb.progress(20)
sleep(0.3)
pb.progress(47)
sleep(0.3)
pb.progress(90)
sleep(0.3)
pb.progress(100)
print "testing 1:"
pb = progressbar(1)
pb.progress(1)
或者
# -*- coding: UTF-8 -*-
import sys, time
class ShowProcess():
"""
显示处理进度的类
调用该类相关函数即可实现处理进度的显示
"""
i = 0 # 当前的处理进度
max_steps = 0 # 总共需要处理的次数
max_arrow = 50 #进度条的长度
# 初始化函数,需要知道总共的处理次数
def __init__(self, max_steps):
self.max_steps = max_steps
self.i = 0
# 显示函数,根据当前的处理进度i显示进度
# 效果为[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]100.00%
def show_process(self, i=None):
if i is not None:
self.i = i
else:
self.i += 1
num_arrow = int(self.i * self.max_arrow / self.max_steps) #计算显示多少个'>'
num_line = self.max_arrow - num_arrow #计算显示多少个'-'
percent = self.i * 100.0 / self.max_steps #计算完成进度,格式为xx.xx%
process_bar = '[' + '>' * num_arrow + '-' * num_line + ']'\
+ '%.2f' % percent + '%' + '\r' #带输出的字符串,'\r'表示不换行回到最左边
sys.stdout.write(process_bar) #这两句打印字符到终端
sys.stdout.flush()
def close(self, words='done'):
print ''
print words
self.i = 0
if __name__=='__main__':
max_steps = 100
process_bar = ShowProcess(max_steps)
for i in range(max_steps + 1):
process_bar.show_process()
time.sleep(0.05)
process_bar.close()
或者
from Tkinter import *
def resize(ev=one):
label.config(font='Helvetica -%d bold' % scale.get())
top = Tk()
top.geometry()
label = Label(top, text = 'hello world!', font = 'Helvetica -12 bold')
label.pack(fill=Y,expand=1)
scale = Scale(top, from_=10, to=40, orient=HORIZONTAL, command=resize)
scale.set(12)
scale.pack(fill=X, expand=1)
quit = Button(top, text="QUIT", command=top.quit, activeforeground='white', activebackground='red')
quit.pack()
mainloop()
来源:https://www.cnblogs.com/navysummer/p/9131738.html
标签:python,进度条,代码
0
投稿
猜你喜欢
Python制作豆瓣图片的爬虫
2021-11-24 05:53:05
XML正在接管Web服务 成为SOA的基础
2008-09-05 17:21:00
SQL Server中的文件和文件组介绍
2024-01-14 06:57:45
教你利用python的matplotlib(pyplot)绘制折线图和柱状图
2022-02-25 17:30:49
windows下python虚拟环境virtualenv安装和使用详解
2023-08-30 11:06:39
python实现音乐播放和下载小程序功能
2023-07-03 17:59:03
十个Python程序员易犯的错误
2023-11-27 03:43:13
详解model.train()和model.eval()两种模式的原理与用法
2021-03-20 08:46:56
Python基于动态规划算法解决01背包问题实例
2021-01-10 21:22:26
Django models.py应用实现过程详解
2021-07-18 11:11:08
mysql中limit查询踩坑实战记录
2024-01-16 13:38:45
pycharm中django框架连接mysql数据库的方法
2024-01-25 18:52:28
python使用 cx_Oracle 模块进行查询操作示例
2022-06-17 05:55:24
Python简单定义与使用字典dict的方法示例
2023-03-10 03:22:48
清理Mysql general_log的方法总结
2024-01-14 10:54:34
JS实现匀速与减速缓慢运动的动画效果封装示例
2024-06-07 15:27:01
仅用50行Python代码实现一个简单的代理服务器
2022-11-26 14:44:57
python数组的复制与列表中的pop
2021-07-10 12:05:24
JavaScript实现鼠标经过表格某行时此行变色
2024-04-16 08:51:18
ASP截取中英文字符串固定长度
2009-08-19 17:12:00