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 import sys sys_type = sys.argv print(sys_type) print(sys_type[0]) print(sys_type[1])
sys.path
功能:获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
示例:
>>> import sys >>> 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 import sys, time for i in range(51): sys.stdout.write(' ') #程序自动的输入一个回车符( ) sys.stdout.write("%s%% | %s" % (int(i/50 *100), i * '#')) sys.stdout.flush() #利用flush()将输出流中的内容刷到标准输出 time.sleep(0.1)