python sys
2018-10-12 本文已影响0人
智勇双全的小六
sys (system)模块提供了一些对象,这些对象被解释器使用或维护,或者与解释器有很强关联的函数。
动态对象:
-
argv
, 命令行参数。如果是在一个脚本中运行的这个命令,则 argv[0] 返回是该脚本的路径。 -
path
, 解释器查找模块的路径,如果该命令运行在脚本中,那么 path[0] 是该脚本所在的路径。 -
modules
, 以字典形式列出模块名和模块对象。
这意味着,我们可以另外的形式加载模块。
sys.modules["time"].time()
# 等价于
import time
time.time()
-
displayhook
,displayhook
在交互(repr / repl)中调用计算的结果。 -
expecthook
,expecthook
,在交互环境中会接住异常并打印出来。 -
stdin
, 标准输入类,被input()
调用。 -
stdout
, 标准输出类,被print()
调用。 -
stderr
, 错误输出,它可能被重定向到解释器的 I/O 输出。 -
last_type
, 最后一个未接住的异常类型 -
last_value
, 最后一个未接住的异常值 -
last_traceback
, 最后一个异常的回溯
这三个last 必须在交互解释器发生错误之后,才能正常使用。
静态对象
-
buildin_module_names
, 返回一个解释器内置的模块名组成的元组 -
copyright
, 版权 -
exec_prefix
, python 解释器所在的路径,也就是说,当执行python xx.py
实际上,解释器会加前缀,变为exec_prefix/python xx.py
-
executable
, python 解释器二进制文件的绝对路径 -
float_info
, 一个包含浮点数信息的序列结构体。
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)
# 因为是结构体,所以可以这么调用。
>>> sys.float_info.max
-
float_repr_style
, 会返回一个字符串表示repr()
函数输出的浮点数。
sys.float_repr_style
>>> 'short'
-
platform
返回解释器所在的平台。 -
version
, 返回解释器的版本。
函数
-
displayhook
, 打印一个对象到屏幕,并保存这个对象到内置中。 -
excepthook
, 异常钩子 -
exit()
, 通过调用 SystemExit 退出解释器。 - ``
....
总结一下,sys 模块主要是用来查找、加载模块,和解释器交互状态下的相关信息。