sys模块的介绍
sys模块是python自带的内建模块,可以直接导入使用的模块。他的作用是查询和设置系统信息。
由于sys模块的功能很多,我们只介绍一些常用的功能。
sys模块常见函数列表
. sys.argv:接收向程序传递的参数。返回值是一个列表,元素是传递的参数
. sys.exit([0]):退出程序,arg=0为正常退出
. sys.getdefaultencoding():获取系统当前的编码
. sys.setdefaultencoding():设置系统默认编码
. sys.getfilesystemencoding():获取文件系统使用的编码
. sys.path:是python模块的获取变量路径
. sys.platform:获取系统当前的平台
. sys.stdin,sys.stdout,sys.stderr:这个对应I/O的标准输入、输出。
当需要更好的控制输出,而print无法满足需求时,可以使用这个。
sys.argv
功能:接收外部传递的参数
注意:外部传入的参数会被放入一个列表中,这个列表的0元素是程序本身名称,外部参数从索引1开始的
示例:
#!/usr/bin/env python
importsys
sys_type=sys.argvprint(sys_type)print(sys_type[0])print(sys_type[1])
sys.path
功能:获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
示例:
>>> importsys>>>sys.path
['', 'C:\\python3.5\\python35.zip', 'C:\\python3.5\\DLLs', 'C:\\python3.5\\lib', 'C:\\python3.5', 'C:\\python3.5\\lib\\site-packages']
sys.stdin, sys.stdout, sys.stderr
功能:改变I/O的输入输出方式。因为有的时候我们需要改变I/O的输入输出方式,而print无法满足我们,就可以使用这个。他们相当于三个流文件,
我们可以使用文件的write()方法向里面写入内容,这个写入的内容就会在标准输入、输出、错误输出流上显示。
示例:
例如:制作一个进度条,但是由于标准输入输出不会自动回车#!/usr/bin/env python
importsys, timefor i in range(51):
sys.stdout.write('\r') #程序自动的输入一个回车符(\r)
sys.stdout.write("%s%% | %s" % (int(i/50 *100), i * '#'))
sys.stdout.flush()#利用flush()将输出流中的内容刷到标准输出
time.sleep(0.1)