打印進度條 --sys模塊
阿新 • • 發佈:2017-08-27
ide write aps 返回 print hide clas 一個 數據
進度條實現一:sys.stdout
四 sys模塊
1 sys.argv 命令行參數List,第一個元素是程序本身路徑 2 sys.exit(n) 退出程序,正常退出時exit(0) 3 sys.version 獲取Python解釋程序的版本信息 4 sys.maxint 最大的Int值 5 sys.path 返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變量的值 6 sys.platform 返回操作系統平臺名稱
import sys import time for i in range(100): sys.stdout.write(‘\r%s‘ %(‘#‘*i)) sys.stdout.flush() time.sleep(0.5)
import sys import time for i in range(100): time.sleep(0.5) print(‘\r%s‘ %(‘#‘*i),end=‘‘,file=sys.stdout,flush=True)進度條實現二:print
#=========知識儲備========== #指定寬度 print(‘<%-10.3f>‘ %3.22) #總寬度為10,保留3位小數點 #打印結果 #<3.220 > #打印%號,用%% width=10 print(‘<%%-%ds>‘ %width) #打印結果 # <%-10s> #嵌套的% width=10 print((‘<%%-%ds>‘ %width) %(‘hello‘)) #打印結果 # <hello > #=========實現打印進度條函數========== import sys import time def progress(percent,width=50): if percent >= 100: percent=100 show_str=(‘[%%-%ds]‘ %width) %(int(width * percent / 100) * "#") #字符串拼接的嵌套使用 print("\r%s %d%%" %(show_str, percent),end=‘‘,file=sys.stdout,flush=True) #=========應用========== data_size=3030333 recv_size=0 while recv_size < data_size: time.sleep(0.001) #模擬數據的傳輸延遲 recv_size+=1024 #每次收1024 recv_per=int(100*(recv_size/data_size)) #接收的比例 progress(recv_per,width=30) #進度條的寬度30
打印進度條 --sys模塊