标准库中最有用的Python模块有哪些?
我在巴黎大学教一个研究生的Python课程,学生们需要了解标准库。我想和他们讨论一些最重要的标准模块。
你觉得哪些模块是绝对必须的?虽然根据不同的领域(比如网页编程、科学等),大家的看法可能会有所不同,但我觉得有一些模块是大家普遍需要的,比如:math
(数学相关)、sys
(系统相关)、re
(正则表达式)、os
(操作系统相关)、os.path
(路径处理)、logging
(日志记录)……还有可能包括:collections
(集合相关)、struct
(结构体处理)……
你建议我在1到2小时的时间里介绍哪些模块呢?
16 个回答
你可以看看 PyMOTW(每周Python模块)。虽然它不完全是标准库的一部分,但里面有很多关于Python标准库的好东西,有些很明显,有些则不太容易发现。而且,它还很好地介绍了这些模块的用法,算是一个很棒的文档资源。
我推荐你看看 itertools
和 functools
这两个模块。这些模块处理的是编程中到处都能见到的抽象概念,所以我觉得学习它们很有用。还有一些比较实用的东西,比如 xml 模块(xml.dom
和 xml.sax
),也会非常有用。
在1到2小时的时间里,讲哪些模块完全取决于听众的兴趣或关注点。他们还在上什么其他课程?他们准备立即使用哪些内容?
一定要提到 math
(数学相关)、decimal
(小数处理)、datetime
(日期时间处理)、time
(时间处理)和 re
(正则表达式)。
对于那些从事文件操作的IT人员来说,glob
(文件查找)、fnmatch
(文件名匹配)、os
(操作系统相关)、os.path
(路径处理)、tempfile
(临时文件处理)和 shutil
(文件操作工具)都是必须了解的。
数据库相关的人必须了解 sqlite
(轻量级数据库)和 json
(数据交换格式)。
如果听众是做模拟的,可能会想了解 random
(随机数生成)。
对于网页开发者来说,从客户端的角度,必须了解 urllib2
(网络请求库)。另外,Beautiful Soup(网页解析库)和你选择的XML解析器也很重要。
从服务器的角度,网页开发者还必须了解 logging
(日志记录)和 wsgiref
(Web服务器网关接口)。