1. sys模块
sys模块包括了一组非常实用的服务,内含很多函数方法和变量,用来处理Python运行时配置以及资源,从而可以与前当程序之外的系统环境交互
1.1 sys.argv 在外部向程序传递参数
sys.argv[number]
一般情况下,number为0是这个脚本的名字,1,2…则为命令行下传递的参数
示例(在D:\github\pycharmDevelopment有一个名字为classoop.py的python文件)
import sys
def testSys():
print(sys.argv[0])
print('The first arg is: ', sys.argv[1])
print('The second arg is: ', sys.argv[2])
testSys()
D:\github\pycharmDevelopment>python classoop.py halo hi
File name is: classoop.py
The first arg is: halo
The second arg is: hi
1.2 sys.platform平台查看
>>> sys.platform
'win32'
1.3 sys.path 查看python路径
我们在执行import module_name的时候,python内部发生了什么呢?简单的说,就是搜索module_name。根据sys.path的路径来搜索module.name
>>> sys.path
['', 'E:\\python35\\python35.zip', 'E:\\python35\\DLLs', 'E:\\python35\\lib', 'E
:\\python35', 'E:\\python35\\lib\\site-packages', 'E:\\python35\\lib\\site-packa
ges\\setuptools-27.3.0-py3.5.egg']
大家以后写好的模块就可以放到上面的某一个目录下,便可以正确搜索到了。当然大家也可以添加自己的模块路径。Sys.path.append(“mine module path”).
1.4 sys.stdin,sys.stdout,sys.stderr
stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们
1.5 sys.builtin_module_names
sys.builtin_module_names返回一个列表,包含内建模块的名字
1.6 sys.exit(n)
调用sys.exit(n)可以中途退出程序,当参数非0时,会引发一个SystemExit异常,从而可以在主程序中捕获该异常。
1.7 sys.version字符串给你提供安装的Python的版本信息。