python

超轻量级php框架startmvc

Python进度条的制作代码实例

更新时间:2020-07-29 01:00:01 作者:startmvc
这篇文章主要介绍了Python进度条的制作代码实例,文中通过示例代码介绍的非常详细,对大

这篇文章主要介绍了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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python 进度条 制作 代码实例