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
View Code

 

posted @ 2018-05-30 21:04  Leslie-x  阅读(121)  评论(0编辑  收藏  举报