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方法,传入的函数可以无参数。