sys模块的功能介绍
1. sys的变量
-
argv
命令行参数
方法:sys.argv 返回值:list 例如:test1.py文件中有两句语句1.import sys 2.print(sys.argv) python test1.py 2 3 df >>> ['test1.py','2','3','df'] #该方法返回的列表中第一个元素为程序的路径,会把执行参数传入到列表中
-
path
模块的搜索路径
方法:sys.path 返回值:list 例如:print(sys.path) >>> ['', 'D:\\python3.5.2\\python35.zip', 'D:\\python3.5.2\\DLLs', 'D:\\python3.5.2\\lib', 'D:\\python3.5.2', 'D:\\python3.5.2\\lib\\site-packages'] #列表中第一个路径代表当前路径
-
modules
模块路径字典
方法:sys.modules 返回值:dict #该方法返回一个字典,模块名为key,模块路径为value
-
stdin
标准输入
-
stdout
标准输出
-
stderr
标准错误
-
last_type
最后捕获的异常类型
-
last_value
最后捕获的异常值
-
last_traceback
回到上次捕获的异常
-
copyright
解释器的版权通知
-
exec_prefix
机器特定的Python库
-
executable
可执行的二进制文件的绝对路径
方法:sys.executable 返回值:str 例如:print(sys.executable) >>> 'D:\\python3.5.2\\python.exe'
-
float_info
浮点信息的结构
方法:sys.float_info 返回值sys.float_info 例如:print(sys.float_info) >>> sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1) #返回浮点信息的限定范围
-
floatreprstyle
字符串表示浮点的repr方法
方法:sys.float_repr_style 返回值:str 例如:print(sys.float_repr_style) >>> 'short'
-
hash_info
哈希信息的结构
方法:sys.hash_info 返回值:sys.hash_info #该变量的使用同float_info类似
-
hexversion
版本信息作为一个整数
-
implementation
Python实现的信息
方法:sys.impelementation 返回值:types.SimpleNamespace #该变量的使用同float_info类似
-
int_info
整数实现的信息
方法:sys.int_info 返回值:sys.int_info #该变量的使用同float_info类似
-
maxsize
最大支持的长度
方法:sys.maxsize 返回值:int 例如:print(sys.maxsize) >>> 9223372036854775807
-
maxunicode
最大编码点
方法:sys.maxunicode 返回值:int 例如:print(sys.maxunicode) >>> 1114111
-
platform
平台标识符
方法:sys.platform 返回值:str 例如:print(sys.platform) >>> 'win32' #上述结果为windows64位的操作系统
-
prefix
python库
方法:sys.prefix 返回值:str 例如:print(sys.prefix) >>> 'D:\\python3.5.2' #返回的是python库的路径
-
thread_info
线程的实现信息
方法:sys.thread_info 返回值:sys.thread_info #该变量的使用同float_info类似
-
version
当前版本
方法:sys.version 返回值:str 例如:print(sys.version) >>> 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] #python解释器当前的版本信息
-
dllhandle
整数处理
-
winver
版本号
方法:sys.winver 返回值:str #该变量是对version的简化提取其返回值中的3.5这个版本号。
2. sys的方法
-
displayhook
打印对象并保存在内部
方法:sys.displayhook(obj) 返回值:object #该方法类似于stdout和内置builtins的结合
-
excepthook
打印异常及其追踪用法
方法:sys.excepthook(exctype,value,traceback) 返回值:obj
-
exc_info
当前异常的线程安全信息
-
exit
退出解释器
方法:sys.exit() 返回值:None #该方法一般用exit()方法替代。
-
getprofile
获取全局配置函数
方法:sys.getprofile() 返回值:function #该方法需要配合setprofile方法一起使用,返回值为函数名
-
getrefcount
对象引用计数
-
getrecursionlimit
最大递归深度
方法:sys.getrecursionlimit() 返回值:int 例如:print(sys.getrecursionlimit()) >>> 1000 #递归的最大深度为1000层。该最大层为默认值,可以通过setrecursionlimit方法进行修改。
-
getsizeof
获取对象的字节大小
-
gettrace
获取全局调试跟踪函数
方法:sys.gettrace() 返回值:function #该方法需要配合settrace方法一起使用,获取调试函数名
-
setcheckinterval
控制多久事件解释器检查
-
setprofile
设置全局配置函数
方法:sys.setprofile(func) 返回值:None #该方法把一个函数设置为全局配置函数,传入的函数需要3或3个以上参数,该方法可以配合getprofile方法使用。
-
setrecursionlimit
设置递归最大层数
方法:sys.setrecursionlimit(int) 返回值:None #通过该方法修改递归的最大层数。
-
settrace
设置全局跟踪调试函数
方法:sys.settrace(func) 返回值:None #该方法的使用可以参考setprofile方法,传入的函数可以无参数。