Python中模块之sys的功能介绍

时间:2022-01-19 00:40:30

                                         sys模块的功能介绍

1. sys的变量

  1. argv

    命令行参数

    方法:sys.argv
    返回值:list
    例如:test1.py文件中有两句语句1.import sys 2.print(sys.argv)
         python test1.py 2 3 df
     >>> ['test1.py','2','3','df']
    #该方法返回的列表中第一个元素为程序的路径,会把执行参数传入到列表中
    
  2. 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']
    #列表中第一个路径代表当前路径
    
  3. modules

    模块路径字典

    方法:sys.modules
    返回值:dict
    #该方法返回一个字典,模块名为key,模块路径为value
    
  4. stdin

    标准输入

  5. stdout

    标准输出

  6. stderr

    标准错误

  7. last_type

    最后捕获的异常类型

  8. last_value

    最后捕获的异常值

  9. last_traceback

    回到上次捕获的异常

  10. copyright

    解释器的版权通知

  11. exec_prefix

    机器特定的Python库

  12. executable

    可执行的二进制文件的绝对路径

    方法:sys.executable
    返回值:str
    例如:print(sys.executable)
     >>> 'D:\\python3.5.2\\python.exe'
    
  13. 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)
    #返回浮点信息的限定范围
    
  14. floatreprstyle

    字符串表示浮点的repr方法

    方法:sys.float_repr_style
    返回值:str
    例如:print(sys.float_repr_style)
     >>> 'short'
    
  15. hash_info

    哈希信息的结构

    方法:sys.hash_info
    返回值:sys.hash_info
    #该变量的使用同float_info类似
    
  16. hexversion

    版本信息作为一个整数

  17. implementation

    Python实现的信息

    方法:sys.impelementation
    返回值:types.SimpleNamespace
    #该变量的使用同float_info类似
    
  18. int_info

    整数实现的信息

    方法:sys.int_info
    返回值:sys.int_info
    #该变量的使用同float_info类似
    
  19. maxsize

    最大支持的长度

    方法:sys.maxsize
    返回值:int
    例如:print(sys.maxsize)
     >>> 9223372036854775807
    
  20. maxunicode

    最大编码点

    方法:sys.maxunicode
    返回值:int
    例如:print(sys.maxunicode)
     >>> 1114111
    
  21. platform

    平台标识符

    方法:sys.platform
    返回值:str
    例如:print(sys.platform)
     >>> 'win32'
    #上述结果为windows64位的操作系统
    
  22. prefix

    python库

    方法:sys.prefix
    返回值:str
    例如:print(sys.prefix)
     >>> 'D:\\python3.5.2'
    #返回的是python库的路径    
    
  23. thread_info

    线程的实现信息

    方法:sys.thread_info
    返回值:sys.thread_info
    #该变量的使用同float_info类似
    
  24. 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解释器当前的版本信息
    
  25. dllhandle

    整数处理

  26. winver

    版本号

    方法:sys.winver
    返回值:str
    #该变量是对version的简化提取其返回值中的3.5这个版本号。
    

2. sys的方法

  1. displayhook

    打印对象并保存在内部

    方法:sys.displayhook(obj)
    返回值:object
    #该方法类似于stdout和内置builtins的结合
    
  2. excepthook

    打印异常及其追踪用法

    方法:sys.excepthook(exctype,value,traceback)
    返回值:obj
    
  3. exc_info

    当前异常的线程安全信息

  4. exit

    退出解释器

    方法:sys.exit()
    返回值:None
    #该方法一般用exit()方法替代。
    
  5. getprofile

    获取全局配置函数

    方法:sys.getprofile()
    返回值:function
    #该方法需要配合setprofile方法一起使用,返回值为函数名
    
  6. getrefcount

    对象引用计数

  7. getrecursionlimit

    最大递归深度

    方法:sys.getrecursionlimit()
    返回值:int
    例如:print(sys.getrecursionlimit())
     >>> 1000
    #递归的最大深度为1000层。该最大层为默认值,可以通过setrecursionlimit方法进行修改。
    
  8. getsizeof

    获取对象的字节大小

  9. gettrace

    获取全局调试跟踪函数

    方法:sys.gettrace()
    返回值:function
    #该方法需要配合settrace方法一起使用,获取调试函数名
    
  10. setcheckinterval

    控制多久事件解释器检查

  11. setprofile

    设置全局配置函数

    方法:sys.setprofile(func)
    返回值:None
    #该方法把一个函数设置为全局配置函数,传入的函数需要3或3个以上参数,该方法可以配合getprofile方法使用。 
    
  12. setrecursionlimit

    设置递归最大层数

    方法:sys.setrecursionlimit(int)
    返回值:None
    #通过该方法修改递归的最大层数。
    
  13. settrace

    设置全局跟踪调试函数

    方法:sys.settrace(func)
    返回值:None
    #该方法的使用可以参考setprofile方法,传入的函数可以无参数。

相关文章