Python中级 —— 07标准库
标准库学习
1. The Python Standard Library[https://docs.python.org/3.5/library/]
( 3.5.5 Documentation )
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.Other Graphical User Interface Packages——其他图形用户界面的包
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.特定于平台的模块
2. Python常用模块(√)
3. Python常用学习库汇总
GUI 图形界面
Tkinter :https://wiki.python.org/moin/TkInter/
wxPython:https://www.wxpython.org/
PyGTK:http://www.pygtk.org/
PyQt:https://sourceforge.net/projects/pyqt/
PySide:http://wiki.qt.io/Category:LanguageBindings::PySide
Web框架
django:https://www.djangoproject.com/
flask:http://flask.pocoo.org/
tornadoweb :http://www.tornadoweb.org/en/stable/
webpy:http://webpy.org/
cherrypy:http://cherrypy.org/
jinjs:http://docs.jinkan.org/docs/jinja2/
科学计算
numpy:http://www.numpy.org/
SciPy:https://www.scipy.org/
pandas: http://pandas.pydata.org/
blaze: http://blaze.readthedocs.io/en/latest/index.html
密码学
cryptography:https://pypi.python.org/pypi/cryptography/
hashids:http://www.oschina.net/p/hashids
Paramiko:http://www.paramiko.org/
Passlib:https://pythonhosted.org/passlib/
PyCrypto:https://pypi.python.org/pypi/pycrypto
PyNacl:http://pynacl.readthedocs.io/en/latest/
爬虫相关
scrapy:https://scrapy.org/
pyspider: https://github.com/binux/pyspider
portia:https://github.com/scrapinghub/portia
html2text:https://github.com/Alir3z4/html2text
BeautifulSoup:https://www.crummy.com/software/BeautifulSoup/
lxml:http://lxml.de/
selenium:http://docs.seleniumhq.org/
mechanize:https://pypi.python.org/pypi/mechanize
PyQuery:https://pypi.python.org/pypi/pyquery/
creepy:https://pypi.python.org/pypi/creepy
图像处理
bigmoyan:http://scikit-image.org/
Python Imaging Library(PIL):http://www.pythonware.com/products/pil/
pillow: http://pillow.readthedocs.io/en/latest/
自然语言处理
nltk: http://www.nltk.org/
snownlp: https://github.com/isnowfy/snownlp
Pattern:https://github.com/clips/pattern
TextBlob:http://textblob.readthedocs.io/en/dev/
Polyglot:https://pypi.python.org/pypi/polyglot
jieba: https://github.com/fxsjy/jieba
数据库驱动
mysql-python: https://sourceforge.net/projects/mysql-python/
PyMySQL:https://github.com/PyMySQL/PyMySQL
PyMongo:https://docs.mongodb.com/ecosystem/drivers/python/
4. Python 3 Module of the Week,中文名《每周一个 Python 3 模块》
作者几乎实践了一遍全部标准库,并为每一个 API 补充了一段代码示例,可以和官方文档相互补充来看。