1. 程式人生 > >python教程系列(三.2.5、sys模組)

python教程系列(三.2.5、sys模組)

在這裡插入圖片描述

sys.argv           命令列引數List,第一個元素是程式本身路徑
sys.exit(n)        退出程式,正常退出時exit(0)
sys.version        獲取Python解釋程式的版本資訊
sys.maxint         最大的Int值
sys.path           返回模組的搜尋路徑,初始化時使用PYTHONPATH環境變數的值
sys.platform       返回作業系統平臺名稱

列印進度條

#=========知識儲備==========
#進度條的效果
[#             ]
[##            ]
[###           ]
[####          ]

#指定寬度
print('[%-15s]' %'#')
print('[%-15s]' %'##')
print('[%-15s]' %'###')
print('[%-15s]' %'####')

#列印%
print('%s%%' %(100)) #第二個%號代表取消第一個%的特殊意義

#可傳參來控制寬度
print('[%%-%ds]' %50) #[%-50s]
print(('[%%-%ds]' %50) %'#')
print(('[%%-%ds]' %50) %'##')
print(('[%%-%ds]' %50) %'###')


#=========實現列印進度條函式==========
import sys
import time

def progress(percent,width=50):
    if percent >= 1:
        percent=1
    show_str=('[%%-%ds]' %width) %(int(width*percent)*'#')
    print('\r%s %d%%' %(show_str,int(100*percent)),file=sys.stdout,flush=True,end='')


#=========應用==========
data_size=1025
recv_size=0
while recv_size < data_size:
    time.sleep(0.1) #模擬資料的傳輸延遲
    recv_size+=1024 #每次收1024

    percent=recv_size/data_size #接收的比例
    progress(percent,width=70) #進度條的寬度70




優化版本:
def progress(percent,width=50):
    if percent > 1:
        percent=1
    show_str=('[%%-%ds]' %width) %(int(width*percent) * '#')
    print('\r%s %d%%' %(show_str,int(100*percent)),end='')

import time
recv_size=0
total_size=100
while recv_size < total_size:
    time.sleep(0.1)
    recv_size+=1
    percent=recv_size / total_size
    progress(percent)

在這裡插入圖片描述