Python常用标准库-sys库一文详解

news2024/11/26 1:37:32

目录

前言

 一、Sys库概述

二、Sys查看版本信息

1.sys.version获取Python版本信息

2.sys.api_version获取解释器中C的API版本

3.sys.getwindowsversion系统功能版本

 4.sys.hexversion()获取Python解释器的版本值

5.sys.implementation获取当前正在运行的Python解释器的实现信息的对象

6.sys.winver获取Windows平台上形成注册表项的版本号

 三、四大实现详细信息

1.sys.float_info获取浮点类型的实现信息

2. sys.hash_info获取哈希元组的实现信息

 3.sys.int_info获取整形实现信息

4.sys.thread_info获取线程信息

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

1.获取Python解释器导入的内建模块列表

 2.获取解释器当前分配的内存块数

 3.获取当前递归的限制

4. 获取解释器的“线程切换间隔

 5. 获取解释器的安装路径信息

 6. 获取python的安装路径

 五、设置解释器性能

设置Python解释器的最大堆栈深度

设置解释器的线程切换间隔,单位为秒

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

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

1.获取平台标识

2.获取当前平台最大的整形值

3.获取当前的默认字符串编码格式

 4.获取在Unicode文件名和字节文件名之间转换的错误模式的名称

 5.获取在Unicode文件名和字节文件名之间转换的编码名称

 6.获取由setprofile()设置的全局配置。

 7.获取对象的引用次数

 8.获取对象的大小,单位为字节

9. 获取repr()函数对浮点数x的行为方式

 10.获取 unicode 编码的最大值

 11.获取本地的字节顺序

 12.获取模块搜索路径的列表

 13.获取python模块的信息

点关注,防走丢,如有纰漏之处,请留言指教,非常感谢


前言

补全一下Python的基础库功能篇,之前一直写pandas和机器学习模型,偶尔换个口味写写基础的。下一作专栏估计会将文本挖掘技术和爬虫技术结合起来出一期,敬请期待。

Python 标准库非常庞大,所提供的组件涉及范围十分广泛,正如以下内容目录所显示的。这个库包含了多个内置模块 (以 C 编写),Python 程序员必须依靠它们来实现系统级功能,例如文件 I/O,此外还有大量以 Python 编写的模块,提供了日常编程中许多问题的标准解决方案。其中有些模块经过专门设计,通过将特定平台功能抽象化为平台中立的 API 来鼓励和加强 Python 程序的可移植性。

本章内容主要讲述Python16个常用的标准库中的sys功能API操作和实践。


 一、Sys库概述

该模块提供对解释器使用或维护的一些变量的访问,以及对与解释器强烈交互的函数的访问。

二、Sys查看版本信息

1.sys.version获取Python版本信息

print(sys.version)

2.sys.api_version获取解释器中C的API版本

print(sys.api_version)

3.sys.getwindowsversion系统功能版本

print(sys.getwindowsversion()) 

 4.sys.hexversion()获取Python解释器的版本值

print(sys.hexversion)

 

5.sys.implementation获取当前正在运行的Python解释器的实现信息的对象

print(sys.implementation)

 

  • # name 当前解释器的名称
  • # version 当前解释器的版本
  • # hexversion 解释器的版本值
  • # cache_tag 缓存标记信息
  • # 获取Windows平台上形成注册表项的版本号

6.sys.winver获取Windows平台上形成注册表项的版本号

print(sys.winver)

 

 三、四大实现详细信息

1.sys.float_info获取浮点类型的实现信息

print(sys.float_info)

2. sys.hash_info获取哈希元组的实现信息

print(sys.hash_info)

 3.sys.int_info获取整形实现信息

print(sys.int_info)

 

4.sys.thread_info获取线程信息

print(sys.thread_info)

 

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

1.获取Python解释器导入的内建模块列表

print(sys.builtin_module_names)

 2.获取解释器当前分配的内存块数

此函数主要用于跟踪和调试内存泄漏

print(sys.getallocatedblocks())

 3.获取当前递归的限制

也就是Python解释器堆栈最大深度的值,该限制可防止无限递归导致C堆栈溢出和Python崩溃,可以通过setrecursionlimit()来调整。

print(sys.getrecursionlimit())

4. 获取解释器的“线程切换间隔

print(sys.getswitchinterval())

 5. 获取解释器的安装路径信息

print(sys.base_exec_prefix)
print(sys.base_prefix)

 6. 获取python的安装路径

print(sys.prefix)

 五、设置解释器性能

设置Python解释器的最大堆栈深度

sys.setrecursionlimit()

设置解释器的线程切换间隔,单位为秒

sys.setswitchinterval()

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

  • sys.stdin, 标准输入流
  • sys.stdout,标准输出流
  • sys.stderr,标准错误流

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

1.获取平台标识

print(sys.platform)

 

 Windows平台的值为‘win32',linux的值为‘linux'。

2.获取当前平台最大的整形值

print(sys.maxsize, 2**(64-1) - 1)

 与平台位数相关,32位系统平台 为 2**(31-1) -1 ,64位平台为2**(64-1)-1

3.获取当前的默认字符串编码格式

print(sys.getdefaultencoding())

 

 4.获取在Unicode文件名和字节文件名之间转换的错误模式的名称

print(sys.getfilesystemencodeerrors())

 5.获取在Unicode文件名和字节文件名之间转换的编码名称

print(sys.getfilesystemencoding())

 6.获取由setprofile()设置的全局配置。

print(sys.getprofile())

 7.获取对象的引用次数

print(sys.getrefcount(element))

 8.获取对象的大小,单位为字节

print(sys.getsizeof(256))

9. 获取repr()函数对浮点数x的行为方式

short表示repr(x)生成短字符串

print(sys.float_repr_style)

 

 10.获取 unicode 编码的最大值

print(sys.maxunicode)

 11.获取本地的字节顺序

不同的CPU采用的字节顺序可能不一样;常见的有little-endian和big-endian;
little-endian是指将低位字节放在前面,高位字节放在后面,big-endian刚好相反;
 sys.byteorder返回值为little为little-endian,big为big-endian

print(sys.byteorder)

 12.获取模块搜索路径的列表

由环境变量PYTHONPATH进行初始化及安装时的默认值组成

print(sys.path)

 13.获取python模块的信息

print(sys.modules)

print(sys.modules['os'])

 


点关注,防走丢,如有纰漏之处,请留言指教,非常感谢

以上就是本期全部内容。我是fanstuck ,有问题大家随时留言讨论 ,我们下期见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/377522.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis源码---如何实现一个性能优异的Hash表

目录 前言 Redis 如何实现链式哈希? 什么是哈希冲突? 链式哈希如何设计与实现? Redis 如何实现 rehash? 什么时候触发 rehash? rehash 扩容扩多大? 渐进式 rehash 如何实现? 前言 Hash …

数据处理 |遍历所有文件夹及子目录文件夹方法总结与实例代码详解

深度学习中不可避免的数据预处理~1. glob.glob()方法 2. pathlib中的Path方法3. os.walk()方法1. glob.glob()方法 语法glob.glob(pathname)(多指定文件类型,查找jpg,png,txt,json等)缺点:查找文件较慢2. 路径操作库pathlib中的Pa…

【计算机三级网络技术】 第四篇 路由设计技术基础

文章目录一、分组转发二、路由选择1.理想的路由算法的基本特征2.路由算法的度量标准3.路由算法分类:4.IP路由选择与路由汇聚(重点)三、自治系统与Internet的路由选择协议1.自治系统2.路由选择协议的分类四、内部网关协议1.RIP的基本概念2.RIP的原理3.RIP的运行过程五…

Android Lmkd 低内存终止守护程序

一、低内存终止守护程序 Android 低内存终止守护程序 (lmkd) 进程可监控运行中的 Android 系统的内存状态,并通过终止最不必要的进程来应对内存压力大的问题,使系统以可接受的性能水平运行。 所有应用进程都是从zygote孵化出来的,记录在AMS…

Android问题笔记 - 打开Android Studio先弹出项目选择框

专栏分享点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例 👉关于作者 众所周知,人生是一个漫长的流程,不断克服困难,不断…

leetcode 427. Construct Quad Tree(构建四叉树)

刚看到题的时候是懵的,这也太长了。到底是要表达什么呢。 不妨把这个矩阵看成一个正方形的图片,想象你在处理图片,从整体逐步到局部。 刚开始看一整张图片,如果是全0或全1,这个就是叶子节点,怎么表达叶子节…

网络货运平台“降本提质引流增值”秘籍是什么?

2月24日,2022(第五届)中国网络货运平台年会在厦门举行,数据宝作为中物联副会长单位受邀参加峰会,数据宝轮值CEO肖斌发表题为“网络货运平台数字化创新应用实践分享”的主题分享。 据交通运输部统计,截止到2…

某建筑设计研究院“综合布线管理软件”应用实践

某建筑设计研究院有限公司(简称“某院”)隶属于国务院国资委直属的大型骨干科技型中央企业。“某院”前身为中央直属设计公司,创建于1952年。成立近70年来,始终秉承优良传统,致力于推进国内勘察设计产业的创新发展&…

CASENet中edge GT是如何产生的

1:首先下载cityscape数据集,包含两个大文件夹,具体的数据集介绍参考此链接。cityscape数据集解析 看一下gtFine子文件夹,另一个也是同理: 2:将下载好的数据集放到data_orig中,还有一个文件…

报错记录:element-admin框架打包后静态文件加载异常与登录异常解决方案

报错记录:element-admin框架打包后静态文件加载异常与登录异常解决方案 一、静态文件加载异常解决方案 二、登录异常解决方案 现象 element-admin如果用 electron 打包 是会有个问题: electron serve 运行没问题 electron build 打release 包 就会出错…

AST之path常用属性和方法总结笔记

文章目录1. path常用属性总结1.1 path.node1.2 path.scope1.3 path.parentPath1.4 path.parent1.5 path.container1.6 path.type1.7 path.key2. path常用方法总结2.1 path.toString2.2 path.replaceWith2.3 path.replaceWithMultiple2.4 path.remove2.5 path.insertBefore2.6 p…

TypeScript 常用知识

「 推荐一个学习 ts 基础的专栏,满满的干货:typeScript 」 1、为什么推荐使用 TypeScript 【】ts 是 js 的超集,包含 js 的所有元素 【】ts 通过对代码进行类型检查,可以帮助我们避免在编写 js 时经常遇到令人痛苦的错误 【】强…

第六节 方法

方法 方法是一种语法结构。 方法的作用: 1.提高代码的复用性 2.让程序逻辑更加清晰 方法定义的完整格式: 修饰符 返回值类型 方法名(形参列表){ 方法体的代码(需要执行的功能代码) return 返回值&#xff…

Unity性能优化: 性能优化之内存篇

前言 本文和传统的内存优化不一样,不是讲如何降低内存占用,而是讲编程开发中要注意的内存问题以及一些内存技术的演变与原理。 对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀 1: Application进程…

maven项目无法解析插件

发现问题使用IDEA创建Maven项目时,报错无法解析插件 org.apache.maven.plugins:maven-clean-plugin这里使用的是IDEA捆绑的Maven插件解决方案查看Maven配置打开用户设置文件settings.xml,在其中加入如果该路径下没有此文件,可以自己创建一个。…

软件分析笔记02---Intermediate Representation

整体contents compiler (source code ——> machine code) non-trivial非平凡的 经过 语义分析->语法分析->类型检查等各种trivial的分析(前端),生成中间代码IR->进行non-trivial的分析(及静…

Linux 基础介绍-基础命令

文章目录01 学习目标02 Linux/Unix 操作系统简介2.1 Linux 操作系统的目标2.2 Linux 操作系统的作用2.3 Unix 家族历史2.4 Linux 家族历史2.5 Linux 和Unix 的联系2.6 Linux 内核介绍2.7 Linux 发行版本2.8 Unix/Linux 开发应用领域介绍03 Linux 目录结构3.1 Win 和Linux 文件系…

C++之入门之引用,内联函数

一、引用 1、引用的概念 在C中,引用的本质其实就是给一个已经存在的变量”起别名“。也就是说,引用与它所引用的对象共用一块空间。(同一块空间的多个名字) 就比如说,李逵又叫黑旋风,而黑旋风就是指李逵…

线程安全实例分析

一、变量的线程安全分析 成员变量和静态变量是否线程安全? ● 如果它们没有共享,则线程安全 ● 如果它们被共享了,根据它们的状态是否能够改变,又分两种情况 —— 如果只有读操作,则线程安全 —— 如果有读写操作&am…

STM32学习笔记-USART串口通信+与野火STM32F407板载ESP8266进行通信

文章目录STM32USART介绍STM32USART框图第一部分第二部分第三部分发送器时序图接收器第四部分软件部分:STM32通过USART与板载ESP8266通讯实验板载WIFI模块电路图实现方式:第一步:配置USART1和USART3的GPIO及其中断第二步:通过中断服…