用python实现的又一个Console下的进度条

简介:
 
  1. class progressbarClass:  
  2.     def __init__(self, finalcount, progresschar=None): 
  3.         import sys 
  4.         self.finalcount=finalcount 
  5.         self.blockcount=0 
  6.         # 
  7.         # See if caller passed me a character to use on the 
  8.         # progress bar (like "*").  If not use the block 
  9.         # character that makes it look like a real progress 
  10.         # bar. 
  11.         # 
  12.         if not progresschar: self.block=chr(178
  13.         else:                self.block=progresschar 
  14.         # 
  15.         # Get pointer to sys.stdout so I can use the write/flush 
  16.         # methods to display the progress bar. 
  17.         # 
  18.         self.f=sys.stdout 
  19.         # 
  20.         # If the final count is zero, don't start the progress gauge 
  21.         # 
  22.         if not self.finalcount : return 
  23.         self.f.write('\n------------------ % Progress -------------------1\n'
  24.         self.f.write('    1    2    3    4    5    6    7    8    9    0\n'
  25.         self.f.write('----0----0----0----0----0----0----0----0----0----0\n'
  26.         return 
  27.  
  28.     def progress(self, count): 
  29.         # 
  30.         # Make sure I don't try to go off the end (e.g. >100%) 
  31.         # 
  32.         count=min(count, self.finalcount) 
  33.         # 
  34.         # If finalcount is zero, I'm done 
  35.         # 
  36.         if self.finalcount: 
  37.             percentcomplete=int(round(100*count/self.finalcount)) 
  38.             if percentcomplete < 1: percentcomplete=1 
  39.         else
  40.             percentcomplete=100 
  41.              
  42.         #print "percentcomplete=",percentcomplete 
  43.         blockcount=int(percentcomplete/2
  44.         #print "blockcount=",blockcount 
  45.         if blockcount > self.blockcount: 
  46.             for i in range(self.blockcount,blockcount): 
  47.                 self.f.write(self.block) 
  48.                 self.f.flush() 
  49.                  
  50.         if percentcomplete == 100self.f.write("\n"
  51.         self.blockcount=blockcount 
  52.         return 
  53.      
  54. if __name__ == "__main__"
  55.     from time import sleep 
  56.     pb=progressbarClass(8,"*"
  57.     count=0 
  58.     while count<9
  59.         count+=1 
  60.         pb.progress(count) 
  61.         sleep(0.2
  62.  
  63.     pb=progressbarClass(100
  64.     pb.progress(20
  65.     sleep(0.2
  66.     pb.progress(47
  67.     sleep(0.2
  68.     pb.progress(90
  69.     sleep(0.2
  70.     pb.progress(100
  71.     print "testing 1:" 
  72.     pb=progressbarClass(1
  73.     pb.progress(1

 本文转自阿汐 51CTO博客,原文链接:http://blog.51cto.com/axiii/301207,如需转载请自行联系原作者


相关文章
|
7月前
|
算法 定位技术 C语言
【python实操】软件安装进展提示进度条如何实现的?如何设置窗体拉伸?如何获取输入框内容?
【python实操】软件安装进展提示进度条如何实现的?如何设置窗体拉伸?如何获取输入框内容?
99 0
|
7月前
|
数据可视化 Python
六种酷炫Python运行进度条
六种酷炫Python运行进度条
|
3月前
|
Linux UED iOS开发
Python中的自定义进度条:从零开始
Python中的自定义进度条:从零开始
|
3月前
|
UED Python
Python requests库下载文件时展示进度条的实现方法
以上就是使用Python `requests`库下载文件时展示进度条的一种实现方法,它不仅简洁易懂,而且在实际应用中非常实用。
120 1
|
4月前
|
数据可视化 Python
用Python给代码安个进度条,太香了吧
用Python给代码安个进度条,太香了吧
56 4
用Python给代码安个进度条,太香了吧
|
4月前
|
Python
Python打印动态进度条
Python打印动态进度条
|
4月前
|
Python
在Python中妥善使用进度条
在Python中妥善使用进度条
|
4月前
|
数据处理 UED Python
Python 进度条:告别枯燥等待,让你的程序动感十足!
Python 进度条:告别枯燥等待,让你的程序动感十足!
119 1
|
4月前
|
监控 API Python
Python中关于进度条的6个实用技巧
Python中关于进度条的6个实用技巧
|
4月前
|
Python
Python 进度条 tqdm模块
Python 进度条 tqdm模块
31 0