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.etree.ElementTree
: 内置模块,解析xml等文件。tempfile
: 内置模块,临时文件操作timeit
: 测量小代码片段的执行时间。 官方文档
2.常用的第三方库
2.1.文件操作:
xlrd/xlwt/xlutils
模块: Python读写Excel文件的模块,可由win32com
、xlwings
等模块取代。lxml
: 分别使用 lxml.etree 和 lxml.html 对 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
: 系统内置语音引擎实现发音,不生成mp3gTTS
: 谷歌音频模块(文字转语音)baidu-aip
: 百度语音合成模块playsound
: 语音播放pydub/ffmpeg
: 实现mp3转wav格式转换SpeechRecognition
: 音频转文字
2.5.GUI编程:
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.2.web框架
Django
: 一个python web开发的重量级框架,详情:官方文档。tornado
: 一个python web开发的异步框架,详情:官方文档。flask
: 一个python web开发的轻量级框架,详情:官方文档。
3.3.爬虫框架
scrapy
: python为了爬取网站数据,提取结构性数据而编写的应用框架,详情:官方文档。PySpider
: python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,详情:官方文档。Crawley
: python高效爬虫框架,支持关系和非关系数据库,数据可以导出为JSON、XML等,详情:项目地址。Portia
: python开源可视化爬虫工具,详情:使用参考。