百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

Python 标准库

wptr33 2025-01-01 22:57 20 浏览

Python 的标准库非常丰富,如下面列出的内容所示,其提供了非常多的功能。库包含内置模块 (用 C 编写的) 提供访问系统的功能,如文件 I/O,以及在为发生在日常编程中的许多问题提供标准化的解决方案的 Python 模块。这些模块的一些明确旨在鼓励和加强的 Python 程序的可移植性的抽象掉平台细节到非特定于平台的 Api。

Windows 平台的 Python 安装程序通常包括整个标准库,而且还包含许多额外的组件。对于 unix 操作系统 Python 通常提供作为软件包的集合,因此,它可能需要使用与操作系统提供的包装工具来获取某些或所有的可选组件。

除了标准库,还有正在增长的几千个组件 (从个别程序和模块的软件包到整个应用程序开发框架),可以从 Python 软件包索引下载。

1.介绍

2.内置函数

3.内置常量

3.1常数添加的 site模块

4.内置类型

4.1. 真值测试

4.2.布尔运算——and,or,not

4.3.比较

4.4.数值类型——int,float,complex

4.5.迭代器

4.6.序列——list,tuple,range

4.7.文本序列类型——str

4.8.二进制序列类型——bytes,bytearray,memoryview

4.9.设置类型——set,frozenset

4.10.映射类型 —— dict

4.11.Context Manager Types

4.12.Other Built-in Types

4.13.特殊属性

5.内置异常

5.1基类

5.2具体的异常

5.3警告

5.4异常层次结构

6.文字处理服务

6.1.string——常见的字符串操作

6.2.re——正则表达式操作

6.3.difflib——帮助计算增量

6.4.textwrap——文本包装和填充

6.5.unicodedata——Unicode数据库

6.6.stringprep——互联网字符串

6.7.readline——GNU readline接口

6.8.rlcompleter——对GNU readline功能的完善

7.二进制数据服务

7.1.struct——解释字节二进制数据

7.2.codecs——注册表编解码器和基类

8.数据类型

8.1.datetime——基本日期和时间类型

8.2.calendar——般calendar-related的功能

8.3.collections——容器数据类型

8.4.collections.abc——抽象基类容器

8.5.heapq——堆队列算法

8.6.bisect——数组二分算法

8.7.array——高效的数值数组

8.8.weakref——弱引用

8.9.types——动态创建类型为内置类型和名称

8.10.copy——浅和深拷贝操作

8.11.pprint——打印整洁的数据

8.12.reprlib——备用 repr()实现

8.13.enum——支持枚举

9.数字和数学模块

9.1.numbers——数字抽象基类

9.2.math——数学函数

9.3.cmath——复数的数学函数

9.4.decimal——十进制定点和浮点运算

9.5.fractions——有理数

9.6.random——生成伪随机数

9.7.statistics——数理统计功能

10.函数式编程模块

10.1.tertools——函数创建的高效循环的迭代器

10.2.functools——高阶函数和对可调用对象上的操作

10.3.operator——标准操作功能

11.文件和目录的访问

11.1.pathlib——面向对象的文件系统路径

11.2.os.path——共同路径名操作

11.3.fileinput——遍历行从多个输入流

11.4. stat——解释 stat()的结果

11.5.filecmp——文件和目录的比较

11.6.tempfile——生成临时文件和目录

11.7.glob——Unix风格扩张路径模式

11.8.fnmatch—— Unix文件名模式匹配

11.9.linecache——随机访问的文本行

11.10.shutil——高级文件操作

11.11macpath——Mac OS 9路径操作函数

12.数据持久性

12.1.pickle——Python对象序列化

12.2.copyreg——注册 pickle支持功能

12.3. shelve——Python对象持久性

12.4.marshal——内部Python对象序列化

12.5.dbm——接口Unix的“数据库”

12.6.sqlite3—— 2.0 db api接口,用于SQLite数据库

13.数据压缩和归档

13.1.zlib——与gzip压缩兼容

13.2.gzip——支持gzip文件

13.3.bz2——支持bzip2压缩

13.4.lzma——使用LZMA压缩算法

13.5.zipfile——操作zip文件

13.6.tarfile——读写tar文件

14.文件格式

14.1.csv——CSV文件读和写

14.2.configparser——配置文件解析器

14.3.netrc——netrc文件处理

14.4.xdrlib——编码和解码XDR数据

14.5.plistlib——生成和解析Mac OS X .plist文件

15.加密服务

15.1.hashlib——安全散列和消息摘要

15.2.hmac——基于消息的身份验证

16.通用操作系统服务

16.1.os——各种各样的操作系统的接口

16.2.io——核心处理流工具

16.3.time——时间访问和转换

16.4.argparse——解析命令行选项,参数和sub-commands

16.5.getopt命令行选项—— C风格的解析器

16.6.logging——Python日志的工具

16.7.logging.config——日志配置

16.8.logging.handlers——日志处理程序

16.9.getpass——便携式密码输入

16.10.curses——终端处理单位字符显示

16.11.curses.textpad——文本输入小部件

16.12.curses.ascii——公用ASCII字符

16.13.curses.panel——一个面板堆栈扩展

16.14.platform——访问底层平台的数据

16.15.errno——标准errno系统符号

16.16.ctypes——外国对Python的函数库

17.并发执行

17.1.threading——基于线程的并行

17.2.multiprocessing——基于流程的并行

17.3.concurrent包

17.4.concurrent.futures——启动并行任务

17.5.subprocess——子流程管理

17.6. sched——事件调度器

17.7.queue——同步队列类

17.8.dummy_threading——threading模块的替代品

17.9. _thread——底层线程API

17.10._dummy_thread——_thread模块的替代品

18.进程间通信和网络

18.1. socket——底层网络接口

18.2.ssl—— TLS / SSL套接字对象包装器

18.3.select——等待I / O完成

18.4. selectors——高级I / O多路复用

18.5.asyncio——异步I / O,事件循环,协同程序和任务

18.6.asyncore——异步套接字处理程序

18.7. asynchat——异步套接字命令/响应处理程序

18.8. signal——异步事件处理的程序

18.9. mmap——对内存映射文件的支持

19.互联网数据处理

19.1.email——电子邮件和MIME处理包

19.2. json—— JSON编码和译码器

19.3.mailcap——Mailcap文件处理

19.4. mailbox——以各种格式操作邮箱

19.5.mimetypes——文件名映射到MIME类型

19.6.base64——Base32 ,Base16 Base64, Base85数据编码

19.7.binhex——编码和解码binhex4文件

19.8.binascii——在二进制和ASCII之间进行转换

19.9.quopri——编码和解码MIME quoted-printable数据

19.10.uu——编码和解码的一种编码的程式文件

20.结构化标记处理工具

20.1.html——对超文本标记语言的支持

20.2. html.parser——简单的HTML和XHTML的解析器

20.3. html.entities——定义的HTML实体

20.4.XML处理模块

20.5.xml.etree.ElementTree——ElementTree的XML API

20.6.xml.dom——文档对象模型API

20.7.xml.dom.minidom——最小的DOM实现

20.8.xml.dom.pulldom——支持建设部分DOM树

20.9.xml.sax——支持SAX2解析器

20.10.xml.sax.handler——基类SAX处理程序

20.11.xml.sax.saxutils——SAX公用类

20.12.xml.sax.xmlreader——XML解析器的接口

20.13xml.parsers.expat——快速使用Expat XML解析

21.互联网协议和支持

21.1.webbrowser——方便的浏览器控制器

21.2.cgi——公共网关接口的支持

21.3.cgitb——回溯经历的CGI脚本

21.4.wsgiref——WSGI工具和参考实现

21.5.urllib——URL处理模块

21.6.urllib.request——打开url的可扩展库

21.7.urllib.response——响应urllib所使用的类

21.8.urllib.parse—— 将url解析成组件

21.9.urllib.error——urllib.request提出的异常类

21.10. urllib.robotparser—— robots . txt的解释器

21.11.http—— HTTP模块

21.12.http.client——HTTP客户协议

21.13.ftplib——FTP客户协议

21.14.poplib——POP3协议客户

21.15. imaplib——IMAP4客户协议

21.16.nntplib——NNTP客户协议

21.17.smtplib——SMTP客户协议

21.18.smtpd——SMTP服务器

21.19.telnetlib——Telnet客户机

21.20.uuid——根据RFC 4122得到的UUID对象

21.21.socketserver——网络服务器框架

21.22.http.server—— HTTP服务器

21.23.http.cookies—— HTTP状态管理

21.24.http.cookiejar——为HTTP客户端处理cookies

21.25.xmlrpc——XMLRPC服务器和客户端模块

21.26.xmlrpc.client——xml - rpc客户端访问

21.27.xmlrpc.server——基本的xml - rpc服务器

21.28.ipaddress——IPv4 / IPv6操纵库

22.多媒体服务

22.1. audioop——操作原始音频数据

22.2.aifc——读和写AIFF和AIFC文件

22.3.sunau——读和写 Sun AU文件

22.4.wave——读和写WAV文件

22.5.chunk——读IFF分块数据

22.6.colorsys——颜色系统之间的转换

22.7.imghdr——确定图像的类型

22.8.sndhdr——确定声音文件的类型

22.9.ossaudiodev——访问OSS-compatible音频设备

23.国际化

23.1.gettext——多语种国际化服务

23.2.locale——国际化服务

24.程序框架

24.1.turtle——海龟绘图(一个简单的绘图工具)

24.2.cmd——支持面向行的命令解释器

24.3.shlex——简单的词法分析

25.Tk的图形用户界面

25.1.tkinter—— Tcl/Tk的Python接口

25.2.tkinter.ttk—— Tk主题的小部件

25.3.tkinter.tix——扩展Tk的部件

25.4.tkinter.scrolledtext——滚动文本小部件

25.6.IDLE

25.7.其他图形用户界面的包

26.开发工具

26.1.typing——支持类型提示

26.2.pydoc——文档生成器和在线帮助系统

26.3.doctest——测试交互式Python示例

26.4.unittest——单元测试框架

26.5.unittest.mock——模拟对象库

26.6.unittest.mock——开始

26.7.2to3——2到3代码翻译

26.8.test——为Python 回归的测试包

26.9.test.support——公用的Python测试套件

27.调试和性能分析

27.1.bdb——调试器框架

27.2.faulthandler——把Python回溯

27.3.pdb——Python调试器

27.4.Python分析器

27.5. timeit——测量小代码片段的执行时间

27.6.trace——跟踪或Python语句执行跟踪

27.7. tracemalloc——跟踪内存分配

28.软件打包和分发

28.1.distutils——构建和安装Python模块

28.2.ensurepip——引导 pip安装程序

28.3.venv——创建虚拟环境

28.4.zipapp——管理python可执行zip档案

29.Python运行时的服务

29.1.sys——系统特定的参数和功能

29.2.sysconfig——提供Python的配置信息

29.3.builtins——内置对象

29.4._main——顶级脚本环境

29.5.warnings——预警控制

29.6.contextlib——公用 with-statement 的上下文

29.7.abc——抽象基类

29.8.atexit——退出处理程序

29.9.traceback——打印或检索一个堆栈回溯

29.10.future——未来的声明中定义

29.11.gc——垃圾收集器接口

29.12.inspect——检查活动对象

29.13.site——特定站点配置钩

29.14.fpectl——浮点异常控制

30.自定义Python解释器

30.1.code——翻译基类

30.2. codeop——编译Python代码

31.导入模块

31.1.zipimport——从Zip文档导入模块

31.2.pkgutil——包扩展工具

31.3.modulefinder——找到模块使用的脚本

31.4.runpy——定位和执行Python模块

31.5.importlib—— import的实现

32.Python语言服务

32.1.parser——访问Python解析树

32.2.ast——抽象语法树

32.3.symtable——访问编译器的符号表

32.4.symbol——常量使用Python解析树

32.5.token——常量使用Python解析树

32.6.keyword——Python测试关键字

32.7.tokenize——对Python源代码编译器

32.8.tabnanny——检测模棱两可的缩进

32.9.pyclbr——Python类浏览器支持

32.10.py_compile——编译Python源文件

32.11.compileall——Byte-compile Python库

32.12.dis——反汇编程序Python字节码

32.13.pickletools——泡菜开发人员的工具

33.各种各样的服务

33.1.formatter——通用的输出格式

34.MS Windows特定的服务

34.1. msilib——读和写微软安装程序文件

34.2.msvcrt——MS vc++运行时有用的程序

34.3 winreg——Windows注册表访问

34.4.winsound——声音播放界面窗口

35.Unix特定服务

35.1.posix——最常见的POSIX系统调用

35.2.pwd——密码数据库

35.3spwd——影子密码数据库

35.4.grp——集团数据库

35.5crypt——功能检查Unix密码

35.6 termios——POSIX风格遥控控制

35.7. tty——终端控制功能

35.8. pty——伪终端工具

35.9 fcntl—— fcntl和 ioctl系统调用

35.10. pipes——接口外壳管道

35.11.resource——资源使用信息

35.12. nis——Sun’s NIS(黄页) 接口

35.13.syslog—— Unix syslog库进程

36.取代模块

36.1.optparse——解析器的命令行选项

36.2.imp——访问 import内部

37.非法模块

37.1.特定于平台的模块

相关推荐

Linux高性能服务器设计

C10K和C10M计算机领域的很多技术都是需求推动的,上世纪90年代,由于互联网的飞速发展,网络服务器无法支撑快速增长的用户规模。1999年,DanKegel提出了著名的C10问题:一台服务器上同时...

独立游戏开发者常犯的十大错误

...

学C了一头雾水该咋办?

学C了一头雾水该怎么办?最简单的方法就是你再学一遍呗。俗话说熟能生巧,铁杵也能磨成针。但是一味的为学而学,这个好像没什么卵用。为什么学了还是一头雾水,重点就在这,找出为什么会这个样子?1、概念理解不深...

C++基础语法梳理:inline 内联函数!虚函数可以是内联函数吗?

上节我们分析了C++基础语法的const,static以及this指针,那么这节内容我们来看一下inline内联函数吧!inline内联函数...

C语言实战小游戏:井字棋(三子棋)大战!文内含有源码

井字棋是黑白棋的一种。井字棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉、一条龙、三子旗等。将正方形对角线连起来,相对两边依次摆上三个双方棋子,只要将自己的三个棋子走成一条线,对方就算输了。但是,有很多时...

C++语言到底是不是C语言的超集之一

C与C++两个关系亲密的编程语言,它们本质上是两中语言,只是C++语言设计时要求尽可能的兼容C语言特性,因此C语言中99%以上的功能都可以使用C++完成。本文探讨那些存在于C语言中的特性,但是在C++...

在C++中,如何避免出现Bug?

C++中的主要问题之一是存在大量行为未定义或对程序员来说意外的构造。我们在使用静态分析器检查各种项目时经常会遇到这些问题。但正如我们所知,最佳做法是在编译阶段尽早检测错误。让我们来看看现代C++中的一...

ESL-通过事件控制FreeSWITCH

通过事件提供的最底层控制机制,允许我们有效地利用工具箱,适时选择使用其中的单个工具。FreeSWITCH是一个核心交换与混合矩阵,它周围有几十个模块提供各种功能特性。我们完全控制了所有的即时信息,这些...

物理老师教你学C++语言(中篇)

一、条件语句与实验判断...

C语言入门指南

当然!以下是关于C语言入门编程的基础介绍和入门建议,希望能帮你顺利起步:C语言入门指南...

C++选择结构,让程序自动进行决策

什么是选择结构?正常的程序都是从上至下顺序执行,这就是顺序结构...

C++特性使用建议

1.引用参数使用引用替代指针且所有不变的引用参数必须加上const。在C语言中,如果函数需要修改变量的值,参数必须为指针,如...

C++程序员学习Zig指南(中篇)

1.复合数据类型结构体与方法的对比C++类:...

研一自学C++啃得动吗?

研一自学C++啃得动吗?在开始前我有一些资料,是我根据网友给的问题精心整理了一份「C++的资料从专业入门到高级教程」,点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!个人...

C++关键字介绍

下表列出了C++中的常用关键字,这些关键字不能作为变量名或其他标识符名称。1、autoC++11的auto用于表示变量的自动类型推断。即在声明变量的时候,根据变量初始值的类型自动为此变量选择匹配的...