Python自学笔记-第五章模块(下)

我与影子孤独终老i 提交于 2020-03-08 18:17:09

3.标准库概览

Python标准库通常被描述为“自带的电池”,自然地提供了广泛的功能,涵盖了200多个包和模块。这里总和多种资料进行简要的介绍。

3.1.字符串处理

3.1.1.string

String模块提供一些有用的常量,比如string.ascii_letterstring.hexdigits。该模块还提供string.Formatter类,可以实现该类的子类,以便提供自定义的字符串格式化器。

3.1.2.textwrap

用于捕获指定宽度的文本行,并最小化缩排的需求。

3.1.3.struct

提供了一些函数,可用于将数字,布尔型变量以及字符串打包为字节对象(以其二进制表示形式),或从字节对象中拆分为适当的类型。在需要对数据进行处理,使其返送到以C编写的底层库时,有用。

3.1.4.difflib

提供了用于对序列(比如字符串)进行比较的类与方法,并可以产生以标准的'diff'格式与HTML格式表示的输出信息。

3.1.5.re

正则表达式模块,后续会单独讲解

3.2.命令行程序设计

3.2.1.fileinput

fileinput.input()函数会对控制台中重定向的所有行(如果存在)进行迭代,或对命令行中列出的文件中的所有行进行的第。通过使用fileinput.filename()fileinput.lineno()可以在任意时刻报告当前文件名与行号。

3.2.2.optparse

处理命令行参数选项,功能更为强大

3.2.3.getopt

处理命令行参数比较流行,易于使用,已在标准库中实现了很长时间

3.3.数学与数字

3.3.1.decimal.Decimal

用于十进制数学计算

3.3.2.fractions.Fraction

提供了分数类型的支持。

3.3.3.math

用于标准的数学函数

3.3.4.cmath

用于复数数学函数

3.3.5.random

提供了很多随机数生成的函数

3.4.时间与日期

3.4.1.calendar

提供了用于处理日期与时间的函数,基于罗马日历

3.4.2.datatime

提供了用于处理日期与时间的函数,基于罗马日历。datetime.datatime类提供了一些处理时区的相关规定,但不可以直接使用。

3.4.3.time

可以处理时间戳,实际上是数字。即为自初始时间(在UNIX上为1970-01-01T00:00:00)至今经过的秒数。

3.5.算法与组合数据类型

3.5.1.bisect

提供的函数可以用于搜索有序序列

3.5.2.heapq

提供的函数可以将序列转换为堆(一种组合数据类型),其第一项总是最小。

3.5.3.collections

提供了字典collections.defaultdict与组合数据类型collections.named-tuple,还有collections.UserListcollections.UserDict等。

3.5.4.array

提了序列类型array.array,可以以非常节省空间的方式存储数单词或字符。

3.5.5.weakref

提供了创建弱引用的功能

3.6.文件格式,编码与数据持久性

3.6.1.base64

提供的函数可以Base16,Base32于Base64等编码格式。

3.6.2.quopri

提供的函数可以读写‘quoted-printable’格式,并用于MIME(多用途Internet邮件扩展)数据。

3.6.3.uu

提供的函数可以读写uuencoded数据。

3.6.4.bz2

可以处理.bz2文件

3.6.5.gzip

可以处理.gz文件。

3.6.6.tarfile

可以处理.tar,.tar.gz(即.tgz)与.tar.bz2文件。

3.6.7.zipfile

可以处理.zip文件。

3.6.8.aifc

可以处理AIFF(音频交换文件格式)

3.6.9.wave

可以处理(未压缩的).wav文件。

3.6.10.csv

可以读写CSV(逗号分隔)或某些变种格式,比如制表符分隔的数据。

3.6.11.pickle

用于向磁盘中存储或从磁盘中取回任意的Python对象。

3.7.文件,目录和进程处理

3.7.1.shutil

提供了用于文件与目录处理的高层函数,包括复制文件与整个目录,移动目录树,以及移动整个目录树等。

3.7.2.tempfile

用于创建临时文件与目录。

3.7.3.filecmp

用于对文件进行比较,也可以用于对整个目录进行标记。

3.7.4.subprocess

用于调度其他进程,使用管道在其间进行通信,并取回其结果。

3.7.5.multiprocessing

可以将任务划分为多个进程,并可以积累其结果。

3.7.6.os

提供了对操作系统功能的访问接口,并且是平台无关的。

3.8.网络与Internet程序设计

3.8.1.socket

提供了大多数基本的网络功能,用于创建socket函数,用于进行DNS查询,以及处理地址等。

3.8.2.socketserver

提供了TCP服务器与UDP服务器,这些服务器可以直接处理请求,也可以创建单独的进程。

3.8.3.wsgiref

提供了WSGI的参考实现,包括提供WSGI兼容的HTTP服务器,以及用于处理响应头与CGI脚本的模块。

3.8.4.http.server

提供了一个HTTP服务器,可以对其赋予一个请求矗立着,以便运行CGI脚本。

3.8.5.http.cookies

提供了用于管理cookies的函数

3.8.6.cig和cgitb

提供了CGI脚本支持

3.8.7.urllib

提供了对URL的访问和支持。

3.8.8.html.parser

支持对HTML和XHTML进行分析。

3.8.9.xmlrpc

提供了对XML-RPC(远程调用)的支持。分client和server两部分。

3.8.10.ftplib

支持FTP协议

3.8.11.nntplib

支持NNTP(网络新闻传输协议)

3.8.12.telnetlib

提供TELNET功能

3.8.13.smtpd

提供了一个SMTP(简单邮件传输协议)服务器。


更多文章,请关注:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!