python具有庞大的用户群,因其语法简洁,开发效率高而备受欢迎,同样,它的标准库与第三方库的支持也比较完善。
这里做些简单的整理。
常用内置模块与第三方库
一般存放于Python安装目录下的 lib/site-packages
目录中。
1.常用的内置模块
-
time
: 时间模块 -
datetime
模块:datetime
模块是对time
模块的一个高级封装(time包基于C语言的库函数) -
random
模块: Python中的random
模块用于生成随机数 -
re
: 正则模块 -
sys
模块:sys
模块提供了一系列有关Python运行环境的变量和函数 -
os
模块:os
模块包含普遍的操作系统功能,如文件操作、目录等,与具体的平台无关 -
subprocess
: 子进程管理模块,常用call()
、run()
、Popen()
等方法。官方文档 -
shutil
: 对文件(夹)、压缩包进行处理的模块(移动/复制/打包/解压/修改权限)。 -
hashlib/hmac/uuid
: 消息摘要/加密/全局唯一标识符 -
pickle
: 序列化处理模块,常用dump()
、load()
方法。 -
configparser
: ini配置文件解析模块。 -
itertools
: 一个创建快速、高效迭代器的模块。官方文档 -
logging
: 内置模块,日志相关。 -
optparse
: 命令行解析模块。 -
docopt
: 命令行解析模块。 -
json
: json文件处理模块。 -
csv
: CSV文件处理模块。 -
: 内置模块,解析xml等文件。
-
tempfile
: 内置模块,临时文件操作 -
timeit
: 测量小代码片段的执行时间。 官方文档
2.常用的第三方库
2.1.文件操作:
-
xlrd/xlwt/xlutils
模块: Python读写Excel文件的模块,可由win32com
、xlwings
等模块取代。 -
lxml
: 分别使用 和 对 xml/html格式进行解析的模块,支持Xpath语法。官方文档 -
yaml
: yaml配置文件解析。 -
pyh
: python生成html。中文文档 -
html5lib
: html解析。
2.2.数据分析:
-
numpy
: 快速处理数据的工具 -
pandas
: 基于NumPy 的一种数据分析工具 -
scipy
: 数值计算库 -
sqlite3
: sqlite数据库连接库 -
pymysql
: mysql数据库连接库 -
sqlalchemy
: 操作数据库的一个库。能够进行 orm 映射。(PostgreSQL、MySQL、SQLite、Oracle等),文档 -
peewee
: 轻量级的一个ORM模块。文档 -
pymongo
: mongodb数据库操作库。 -
mongoengine
: mongodb数据库操作库。 -
redis
: Redis连接库 -
pyzenith
: 高斯数据库
2.3.网络爬虫:
-
urllib
: 一系列用于操作URL的功能模块 -
requests
: : 基于 urllib 编写的,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应后,程序才能进行下一步处理。 -
selenium
: 自动化测试工具。通过这个库你可以直接调用浏览器完成某些操作,比如用户登录或输入验证码。 -
asyncio/aiohttp
: 基于 asyncio 实现的 HTTP 框架。异步操作借助于 async/await 关键字,使用异步库进行数据抓取,可以大大提高效率。 -
Beautifulsoup
: html 和 XML 的解析,从网页中提取信息,同时拥有强大的API和多样解析方式。 -
pyquery
: jQuery 的 Python 实现,能够以 jQuery 的语法来操作解析 HTML 文档,易用性和解析速度都很好。 -
tesserocr
: 一个 OCR 库,在遇到验证码(图形验证码为主)的时候,可直接用 OCR 进行识别。
2.4.图像音频:
-
Image
模块: Python操作图像的模块 -
pyecharts
: 一款开源的图表分析库。 -
xpinyin
模块: 一个把汉字转成拼音的模块 -
pyttsx3
: 系统内置语音引擎实现发音,不生成mp3 -
gTTS
: 谷歌音频模块(文字转语音) -
baidu-aip
: 百度语音合成模块 -
playsound
: 语音播放 -
pydub/ffmpeg
: 实现mp3转wav格式转换 -
SpeechRecognition
: 音频转文字
可参考:Python(九)- 音频文字转换
2.编程:
-
wxPython
: 一款开源的 GUI 图形库 -
tkinter
: Python 的标准 GUI 库。 -
PyQt5
: 一个用于创建GUI应用程序的跨平台的工具包。 -
pygame
: 一个利用SDL库的写就的游戏库,用来开发游戏软件的 Python 库。
2.6.网络相关
-
pywifi
: WiFi操作的模块。 -
paramiko
: 一个基于SSH用于连接远程服务器并执行相关操作(命令或文件)的模块。
2.7.其他
-
tqdm
: 进度条模块。 -
celery
: 分布式任务处理库,常用于搭配Redis、RabbitMQ。
3.常用框架
3.1.测试框架
-
Unitest/PyUnit
: Python标准库中自带的单元测试框架,详情:官方文档。 -
Pytest
: Python第三方单元测试库,通用性更广,详情:官方文档。 -
nose2
: Python第三方单元测试库,扩展Unitest
,详情:官方文档。
3.框架
-
Django
: 一个python web开发的重量级框架,详情:官方文档。 -
tornado
: 一个python web开发的异步框架,详情:官方文档。 -
flask
: 一个python web开发的轻量级框架,详情:官方文档。
3.3.爬虫框架
-
scrapy
: python为了爬取网站数据,提取结构性数据而编写的应用框架,详情:官方文档。 -
PySpider
: python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,详情:官方文档。 -
Crawley
: python高效爬虫框架,支持关系和非关系数据库,数据可以导出为JSON、XML等,详情:项目地址。 -
Portia
: python开源可视化爬虫工具,详情:使用参考。