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 # print(sys.__doc__) # sys.argv: 实现从程序外部向程序传递参数。 # # sys.exit([arg]): 程序中间的退出,arg=0为正常退出。 # # sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。 # print(sys.getsizeof('F:\SHpython\复习进度\b.txt')) # print(sys.getdefaultencoding()) # sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个 # 方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding('utf8'), # 此时将系统默认编码设置为utf8。(见设置系统默认编码 ) # # sys.getfilesystemencoding(): 获取文件系统使用编码方式,Windows下返回'mbcs',mac下返回'utf-8'. # print(sys.getfilesystemencoding()) # sys.path: 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。 # # sys.platform: 获取当前系统平台。 # sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 变量包含与标准I/O 流对应 # 的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替 # 换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们
实现进度条
#=========知识储备========== #进度条的效果 [# ] [## ] [### ] [#### ] #指定宽度 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
Ideal are like the stars --- we never reach them ,but like mariners , we chart our course by them