Python标准库sys库常用功能详解

 更新时间:2022年07月12日 10:34:34   作者:匿名V5程序员  
这篇文章主要介绍了Python标准库sys库常用功能详解,sys是Python提供的程序与解释器交互的标准库,文章围绕主题展开相关介绍,需要的朋友可以参考一下

1、查看版本信息

# coding:utf-8
import sys
# 获取 Python版本信息
print(sys.version)
# 获取解释器中C的API版本
print(sys.api_version)
# 获取Windows系统功能版本
print(sys.getwindowsversion()) # sys.getwindowsversion(major=10, minor=0, build=17763, platform=2, service_pack='')
# 获取Windows系统功能版本
print(sys.getwindowsversion())
# 获取Python 解释器的版本值
print(sys.hexversion) # 50988528
# 获取当前正在运行的Python解释器的实现信息的对象
print(sys.implementation)
# name 当前解释器的名称
# version 当前解释器的版本
# hexversion 解释器的版本值
# cache_tag 缓存标记信息
# 获取Windows平台上形成注册表项的版本号
print(sys.winver)

2、四大实现详细信息

# coding:utf-8
import sys
# 获取浮点类型的实现信息
print(sys.float_info)
# 获取哈希元祖的实现信息
print(sys.hash_info)
# 获取整数类型的实现信息
print(sys.int_info)
# 获取线程信息
print(sys.thread_info)

3、查看Python解释器的相关信息

# coding:utf-8
import sys

# 获取Python解释器导入的内建模块列表
print(sys.builtin_module_names)
# 获取解释器当前分配的内存块数,此函数主要用于跟踪和调试内存泄漏
print(sys.getallocatedblocks())
# 获取当前递归的限制,也就是Python解释器堆栈最大深度的值
# 该限制可防止无限递归导致C堆栈溢出和Python崩溃
# 可以通过setrecursionlimit()来调整
print(sys.getrecursionlimit())
# 获取解释器的“线程切换间隔。
print(sys.getswitchinterval()) # 0.005
# 获取当前正在运行的Python解释器的实现信息
# name 当前解释器的名称
# version 当前解释器的版本
# hexversion 解释器的版本值
# cache_tag 缓存标记信息
print(sys.implementation)
# 获取Python解释器是否关闭
print(sys.is_finalizing()) # False
# 获取当前程序及解释器信息
print(sys.orig_argv)
# 获取Python 解释器的版权信息
print(sys.copyright)
# 获取解释器的安装路径信息
print(sys.base_exec_prefix)
# 获取解释器的安装路径信息
print(sys.base_prefix)
# 获取python的安装路径
print(sys.prefix)

3、设置python解释器信息

4、标准输入、输出和错误流

  • sys.stdin, 标准输入流
  • sys.stdout,标准输出流
  • sys.stderr,标准错误流
aa = sys.stdin.readline()
sys.stderr.write('stderr info\n')
sys.stdout.write('stdout info\n')

5、查看系统平台相关信息

# coding:utf-8
import sys

# 获取平台标识,Windows平台的值为‘win32',linux的值为‘linux'
print(sys.platform)
# 获取当前平台最大的整形值,与平台位数相关,32位系统平台 为 2**(31-1) -1 ,64位平台为2**(64-1)-1
print(sys.maxsize, 2**(64-1) - 1)
# 获取当前的默认字符串编码格式
print(sys.getdefaultencoding())
# 获取在Unicode文件名和字节文件名之间转换的错误模式的名称
print(sys.getfilesystemencodeerrors())
# 获取在Unicode文件名和字节文件名之间转换的编码名称
print(sys.getfilesystemencoding())
# 获取由setprofile()设置的全局配置。
print(sys.getprofile())
aa = 111
print(aa)
# 获取对象的引用次数
print(sys.getrefcount(aa))
# 获取对象的大小,单位为字节
print(sys.getsizeof(aa))
i = 100
print(sys.getsizeof(i))
# 获取repr()函数对浮点数x的行为方式,short表示repr(x)生成短字符串
print(sys.float_repr_style)
# 获取 unicode 编码的最大值
print(sys.maxunicode)
# 获取本地的字节顺序, 不同的CPU采用的字节顺序可能不一样;
# 常见的有little-endian和big-endian;
# little-endian是指将低位字节放在前面,高位字节放在后面,big-endian刚好相反;
# sys.byteorder返回值为little为little-endian,big为big-endian
print(sys.byteorder)
# 获取 模块搜索路径的列表 , 由环境变量PYTHONPATH进行初始化及安装时的默认值组成
print(sys.path)
# 获取python模块的信息
print(sys.modules)
# 返回值是一个以模块名为key的字典,查看os模块的信息
print(sys.modules['os'])

6、其他

# coding:utf-8
import sys
# 获取命令行参数
print(sys.argv)
# 查看命令行标志的状态
print(sys.flags)
# 将参数值标准输出
sys.displayhook('21313132')
# 获取当前正在处理的异常类的异常详细信息
# sys.exc_info()返回三个值的元组,type为异常类型、value为异常类型实例traceback为回溯对象
print(sys.exc_info())
# 定义审计内容
def audit_hook(event, *args):
if event in ['test', 'lll']:
print('event:' + event)
else:
print(f"{event}未监听")
# 注册审计
sys.addaudithook(audit_hook)
# 调用审计
sys.audit('test') # event:test
sys.audit('12') # 12未监听

# 强制退出程序,参数为程序退出的返回值,正常退出为 sys.exit(0) 或 sys.exit()
# sys.exit(0)
# 异常退出
# sys.exit(-1)

到此这篇关于Python标准库sys库常用功能详解的文章就介绍到这了,更多相关Python sys库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决Python中定时任务线程无法自动退出的问题

    解决Python中定时任务线程无法自动退出的问题

    今天小编就为大家分享一篇解决Python中定时任务线程无法自动退出的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • python pandas轻松通过特定列的值多条件去筛选数据及contains方法的使用

    python pandas轻松通过特定列的值多条件去筛选数据及contains方法的使用

    这篇文章主要介绍了python pandas轻松通过特定列的值多条件去筛选数据及contains方法的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python内置函数的用法实例教程

    Python内置函数的用法实例教程

    这篇文章主要介绍了Python内置函数的用法,包括求绝对值的abs()函数及数值类型转换函数等,需要的朋友可以参考下
    2014-09-09
  • Python实现Word文档样式批量处理

    Python实现Word文档样式批量处理

    这篇文章主要为大家详细介绍了如何利用Python中的python-docx非标准库实现word文档样式批量处理,文中示例代码讲解详细,感兴趣的可以了解一下
    2022-05-05
  • python中怎么表示空值

    python中怎么表示空值

    在本篇内容里小编给大家整理了关于python如何表示空值的知识点内容,有兴趣的朋友们可以跟着学习参考下。
    2020-06-06
  • 基于Tensorflow使用CPU而不用GPU问题的解决

    基于Tensorflow使用CPU而不用GPU问题的解决

    今天小编就为大家分享一篇基于Tensorflow使用CPU而不用GPU问题的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Django模板变量如何传递给外部js调用的方法小结

    Django模板变量如何传递给外部js调用的方法小结

    这篇文章主要给大家介绍了关于Django模板变量如何传递给外部js调用的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-07-07
  • Python模块 _winreg操作注册表

    Python模块 _winreg操作注册表

    通过python操作注册表主要有两种方式,一种是通过python的内置模块 _winreg,另一种方式就是 Win32 Extension For Python的win32api模块,这里主要简单看看用内置模块 _winreg如何操作注册表
    2020-02-02
  • Python利用lxml模块爬取豆瓣读书排行榜的方法与分析

    Python利用lxml模块爬取豆瓣读书排行榜的方法与分析

    这篇文章主要给大家介绍了关于Python爬虫利用lxml模块爬取豆瓣读书排行榜的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • 一文让你彻底搞懂Python中__str__和__repr__

    一文让你彻底搞懂Python中__str__和__repr__

    这篇文章主要介绍了Python中的__str__和__repr__的异同,__str__和__repr__是基本的内置方法,文中有详细的代码示例,感兴趣的同学可以参考阅读下
    2023-05-05

最新评论