sys模块
sys.argv 命令行参数List,第一个元素是程序本身路径
sys.exit(n) 退出程序,正常退出时exit(0)
sys.version 获取Python解释程序的版本信息
sys.maxint 最大的Int值
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform 返回操作系统平台名称
sys.argv详解
#sys.argv[0]表示代码本身文件路径
sys.argv[]说白了就是一个从程序外部获取参数的桥梁,sys.argv其实可以看作是一个列表(序列),所以才能用[]提取其中的元素。其第一个元素是程序本身,随后才依次是外部给予的参数。
# 对于一个test.py文件
import sys
a=sys.argv
b=sys.argv[0]
print(a)
print(b)
# 命令行运行 python test.py
# ['c:/Users/Administrator/Desktop/test/test.py']
# c:/Users/Administrator/Desktop/test/test.py
------------------------------------------------------------
#改进版test.py
import sys
a=sys.argv[1]
b=sys.argv[1:]
print(a)
print(b)
#python test.py a b c
#a
#['a', 'b', 'c']
#参数位置是用空格隔开的
打印进度条
#=========知识储备==========
#进度条的效果
[# ]
[## ]
[### ]
[#### ]
# 指定宽度
print('[%-15s]' %'#') #-15 左对齐总宽度是15
# [# ]
print('[%-15s]' %'##')
# [## ]
print('[%-15s]' %'###')
# [### ]
print('[%-15s]' %'###############')
# [###############]
# 打印%,双%取消%特殊含义
print('%s%%' %(100)) #第二个%号代表取消第一个%的特殊意义
# 100%
# 可传参来控制宽度
print('[%%-%ds]' %50) #[%-50s]
print(('[%%-%ds]' %50) %'#')
print(('[%%-%ds]' %50) %'##')
print(('[%%-%ds]' %50) %'###')
# ==实现打印进度条函数==
import sys
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