收集整理了一份《2024年最新Python全套学习资料》免费送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来
如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
正文
-
pypinyin:汉字拼音转换工具 Python 版。
-
shortuuid:一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。
-
simplejson:Python 的 JSON编码、解码器。
-
unidecode:Unicode 文本的 ASCII 转换形式 。
-
uniout:打印可读的字符,而不是转义的字符串。
-
xpinyin:一个用于把汉字转换为拼音的库。
-
pyfiglet:figlet 的 Python 实现。
-
flashtext:一个高效的文本查找替换库。
-
textdistance:支持 30 多种算法来计算序列之间的距离。
Slug 化
-
awesome-slugify:一个 Python slug 化库,可以保持 Unicode。
-
python-slugify:Python slug 化库,可以把 unicode 转化为 ASCII。
-
unicode-slugify:一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。
解析器
-
phonenumbers:解析,格式化,储存,验证电话号码。
-
python-phonenumbers:解析,格式化,存储,校验国际电话号码。
-
PLY:lex 和 yacc 解析工具的 Python 实现。
-
Pygments:通用语法高亮工具。
-
pyparsing:生成通用解析器的框架。
-
python-nameparser:把一个人名分解为几个独立的部分。
-
python-user-agents:浏览器 user agent 解析器。
-
sqlparse:一个无验证的 SQL 解析器。
10特殊文本格式处理
一些用来解析和操作特殊文本格式的库。
通用
-
tablib:一个用来处理中表格数据的模块。
-
Office Marmir:把输入的 Python 数据结构转换为电子表单。
-
openpyxl:一个用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。
-
pyexcel:一个提供统一 API,用来读写,操作 Excel 文件的库。
-
python-docx:读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。Microsoft Word 2007/2008 docx 文件。
-
python-pptx:可用于创建和修改 ppt 文件的 Python 库。
-
relatorio:模板化 OpenDocument 文件。
-
unoconv:在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。
-
XlsxWriter:一个用于创建 Excel .xlsx 文件的 Python 模块。
-
xlwings:一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。
-
xlwt / xlrd:读写 Excel 文件的数据和格式信息。
-
docxtpl:通过 jinja2 模版编辑 docx 文档。
-
PDF
-
PDFMiner:一个用于从 PDF 文档中抽取信息的工具。
-
PyPDF2:一个可以分割,合并和转换 PDF 页面的库。
-
ReportLab:快速创建富文本 PDF 文档。
-
Markdown
-
Mistune:快速并且功能齐全的纯 Python 实现的 Markdown 解析器。
-
Python-Markdown:John Gruber’s Markdown 的 Python 版实现。
-
Python-Markdown2:纯 Python 实现的 Markdown 解析器,比 Python-Markdown 更快,更准确,可扩展。
-
YAML
-
PyYAML:Python 版本的 YAML 解析器。
-
CSV
-
csvkit:用于转换和操作 CSV 的工具。
-
Archive
-
unp:一个用来方便解包归档文件的命令行工具。
11自然语言处理
用来处理人类语言的库。
-
NLTK:一个先进的平台,用以构建处理人类语言数据的 Python 程序。
-
gensim:人性化的话题建模库。
-
jieba:中文分词工具。
-
langid.py:独立的语言识别系统。
-
Pattern:Python 网络信息挖掘模块。
-
SnowNLP:一个用来处理中文文本的库。
-
TextBlob:为进行普通自然语言处理任务提供一致的 API。
-
TextGrocery:一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。
-
thulac:清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包。
-
polyglot:支持数百种语言的自然语言处理管道。
-
pytext:基于 PyTouch 的自然语言模型框架。
-
PyTorch-NLP:一个支持快速深度学习 NLP 原型研究的工具包。
-
spacy:Python 和 Cython 中用于工业级自然语言处理的库。
-
Stanza:斯坦福 NLP 集团的官方 Python 库,支持 60 多种语言。
-
funNLP:中文自然语言处理的工具和数据集。
-
pkuseg-python:一个支持对不同领域进行中文分词的工具箱。
12文档
用以生成项目文档的库。
-
Sphinx:Python 文档生成器。
-
awesome-sphinxdoc
-
MkDocs:对 Markdown 友好的文档生成器。
-
pdoc:一个可以替换 Epydoc 的库,可以自动生成 Python 库的 API 文档。
-
Pycco:文学编程(literate-programming)风格的文档生成器。
-
readthedocs:一个基于 Sphinx/MkDocs 的在线文档托管系统,对开源项目免费开放使用。
13配置
用来保存和解析配置的库。
-
config:logging 模块作者写的分级配置模块。
-
ConfigObj:INI 文件解析器,带验证功能。
-
ConfigParser:(Python 标准库) INI 文件解析器。
-
profig:通过多种格式进行配置,具有数值转换功能。
-
python-decouple:将设置和代码完全隔离。
-
hydra:一个优雅地配置复杂应用程序的框架。
14命令行工具
用于创建命令行程序的库。
-
命令行程序开发
-
cement:Python 的命令行程序框架。
-
click:一个通过组合的方式来创建精美命令行界面的包。
-
cliff:一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。
-
clint:Python 命令行程序工具。
-
docopt:Python 风格的命令行参数解析器。
-
Gooey:一条命令,将命令行程序变成一个 GUI 程序。
-
python-prompt-toolkit:一个用于构建强大的交互式命令行程序的库。
-
python-fire:Google 出品的一个基于 Python 类的构建命令行界面的库。
-
Pythonpy:在命令行中直接执行任何 Python 指令。
-
终端呈现方式
-
asciimatics:跨平台,全屏终端包(即鼠标/键盘输入和彩色,定位文本输出),完整的复杂动画和特殊效果的高级 API。
-
alive-progress:一款新的进度条,具有实时吞吐量信息以及非常酷的动画。
-
colorama:跨平台彩色终端文本。
-
bashplotlib:在终端中进行基本绘图。
-
rich:一个在终端中支持富文本和格式美化的 Python 库, 同时提供了
RichHandler
日志处理程序。 -
tqdm:一个可在循环和命令行中使用的快速、可扩展的进度条。
-
生产力工具
-
aws-cli:Amazon Web Services 的通用命令行界面。
-
caniusepython3:判断是哪个项目妨碍你你移植到 Python 3。
-
cookiecutter:从 cookiecutters(项目模板)创建项目的一个命令行工具。
-
doitlive:一个用来在终端中进行现场演示的工具。
-
pyftpdlib:一个速度极快和可扩展的 Python FTP 服务库。
-
howdoi:通过命令行获取即时的编程问题解答。
-
PathPicker:从 bash 输出中选出文件。
-
percol:向 UNIX shell 传统管道概念中加入交互式选择功能。
-
thefuck:修正你之前的命令行指令。
-
try:一个极其简单的命令行工具,用来试用 python 库。
-
copier:用于呈现项目模板的库和命令行实用程序。
-
Invoke:用于管理面向 shell 的子进程,同时支持将可执行的 Python 代码组织成命令行可调用的状态。
-
tmuxp:tmux 会话管理器。
-
高级 CLI
-
httpie:一个命令行 HTTP 客户端,cURL 的替代品,易用性更好。
-
iredis:支持自动补全和高亮显示的 redis 命令行工具。
-
kube-shell:K8S 命令行集成的 shell 工具。
-
litecli:支持自动补全和语法高亮的 SQLite 命令行工具。
-
mycli:支持自动补全和语法高亮的 MySQL 命令行客户端
-
pgcli:支持自动补全和语法高亮的 Postgres 命令行工具。
-
SAWS:一个加强版的 AWS 命令行。
-
Shell
-
xonsh:一种基于 python 的跨平台,面向 unix 的 shell 语言和命令提示符。
15下载器
用来进行下载的库.
-
s3cmd:一个用来管理 Amazon S3 和 CloudFront 的命令行工具。
-
s4cmd:超级 S3 命令行工具,性能更加强劲。
-
you-get:一个 YouTube/Youku/Niconico 视频下载器,使用 Python 3 编写。
-
youtube-dl:一个小巧的命令行程序,用来下载 YouTube 视频。
-
akshare:为方便人使用而创建的金融数据接口库。
16图像处理
用来操作图像的库.
-
pillow:Pillow 是一个更加易用版的 PIL。
-
hmap:图像直方图映射。
-
imgSeek:一个使用视觉相似性搜索一组图片集合的项目。
-
nude.py:裸体检测。
-
python-barcode:不借助其他库在 Python 程序中生成条形码。
-
pygram:类似 Instagram 的图像滤镜。
-
python-qrcode:一个纯 Python 实现的二维码生成器。
-
Quads:基于四叉树的计算机艺术。
-
scikit-image:一个用于(科学)图像处理的 Python 库。
-
thumbor:一个小型图像服务,具有剪裁,尺寸重设和翻转功能。
-
wand:MagickWand 的 Python 绑定。MagickWand 是 ImageMagick 的 C API 。
-
face_recognition:简单易用的 Python 人脸识别库。
-
pagan:基于输入和哈希的复古风图标(头像)生成工具。
-
PyMatting:支持 alpha matting 的库。
-
pywal:由图像生成配色方案的工具。
-
pyvips:低内存消耗且快速的图像处理库。
17OCR
光学字符识别库。
-
paddleocr: 除光学字符识别外还引入了表格识别。
-
pyocr:Tesseract 和 Cuneiform 的一个封装。
-
pytesseract:Google Tesseract OCR 的一个封装。
18音频
用来操作音频的库
-
audiolazy:Python 的数字信号处理包。
-
audioread:交叉库 (GStreamer + Core Audio + MAD + FFmpeg) 音频解码。
-
beets:一个音乐库管理工具及 MusicBrainz 标签添加工具。
-
dejavu:音频指纹提取和识别。
-
django-elastic-transcoder:Django + Amazon Elastic Transcoder。
-
eyeD3:一个用来操作音频文件的工具,具体来讲就是包含 ID3 元信息的 MP3 文件。
-
id3reader:一个用来读取 MP3 元数据的 Python 模块。
-
m3u8:一个用来解析 m3u8 文件的模块。
-
mutagen:一个用来处理音频元数据的 Python 模块。
-
pydub:通过简单、简洁的高层接口来操作音频文件。
-
pyechonest:Echo Nest API 的 Python 客户端。
-
talkbox:一个用来处理演讲/信号的 Python 库。
-
TimeSide:开源 web 音频处理框架。
-
tinytag:一个用来读取 MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库。
-
mingus:一个高级音乐理论和曲谱包,支持 MIDI 文件和回放功能。
-
kapre:Keras 音频处理器。
-
librosa:音频音乐分析 Python 库。
-
matchering:用于音频母带制作的库。
-
pyAudioAnalysis:音频特征提取,分类,分段和应用。
-
beets:一个音乐库管理器和 MusicBrainz 标记器。
19Video
用来操作视频和 GIF 的库。
-
moviepy:一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs。
-
scikit-video:SciPy 视频处理常用程序。
-
vidgear:强大的多线程视频处理框架。
20地理位置
地理编码地址以及用来处理经纬度的库。
-
GeoDjango:世界级地理图形 web 框架。
-
GeoIP:MaxMind GeoIP Legacy 数据库的 Python API。
-
geojson:GeoJSON 的 Python 绑定及工具。
-
geopy:Python 地址编码工具箱。
-
GeoIP2:GeoIP2 Webservice 客户端与数据库 Python API。
-
django-countries:一个 Django 应用程序,提供用于表格的国家选择功能,国旗图标静态文件以及模型中的国家字段。
-
pygeoip:Python GeoIP 接口。
21HTTP
使用 HTTP 的库。
-
aiohttp:基于 asyncio 的异步 HTTP 网络库。
-
requests:人性化的 HTTP 请求库。
-
grequests:requests 库 + gevent ,用于异步 HTTP 请求。
-
httplib2:全面的 HTTP 客户端库。
-
treq:类似 requests 的 Python API 构建于 Twisted HTTP 客户端之上。
-
urllib3:一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。
-
httpx:下一代 Python HTTP 客户端。
22数据库
Python 实现的数据库。
-
pickleDB:一个简单,轻量级键值储存数据库。
-
PipelineDB:流式 SQL 数据库。
-
TinyDB:一个微型的,面向文档型数据库。
-
ZODB:一个 Python 原生对象数据库。一个键值和对象图数据库。
23数据库驱动
用来连接和操作数据库的库。
-
MySQL:awesome-mysql 系列
-
aiomysql:基于 asyncio 的异步 MySQL 数据库操作库。
-
mysql-python:Python 的 MySQL 数据库连接器。
-
ysqlclient:mysql-python 分支,支持 Python 3。
-
oursql:一个更好的 MySQL 连接器,支持原生预编译指令和 BLOBs。
-
PyMySQL:纯 Python MySQL 驱动,兼容 mysql-python。
-
PostgreSQL
-
psycopg2:Python 中最流行的 PostgreSQL 适配器。
-
queries:psycopg2 库的封装,用来和 PostgreSQL 进行交互。
-
txpostgres:基于 Twisted 的异步 PostgreSQL 驱动。
-
其他关系型数据库
-
apsw:另一个 Python SQLite 封装。
-
dataset:在数据库中存储 Python 字典
-
pymssql:一个简单的 Microsoft SQL Server 数据库接口。
-
NoSQL 数据库
-
asyncio-redis:基于 asyncio 的 redis 客户端 (PEP 3156)。
-
cassandra-python-driver:Cassandra 的 Python 驱动。
-
HappyBase:一个为 Apache HBase 设计的,对开发者友好的库。
-
Plyvel:一个快速且功能丰富的 LevelDB 的 Python 接口。
-
py2neo:Neo4j restful 接口的 Python 封装客户端。
-
pycassa:Cassandra 的 Python Thrift 驱动。
-
PyMongo:MongoDB 的官方 Python 客户端。
-
redis-py:Redis 的 Python 客户端。
-
telephus:基于 Twisted 的 Cassandra 客户端。
-
txRedis:基于 Twisted 的 Redis 客户端。
-
kafka-python:Apache Kafka Python 客户端。
-
异步客户端
-
motor:支持 MongoDB 的异步 Python 驱动程序。
24ORM
实现对象关系映射或数据映射技术的库。
-
关系型数据库
-
awesome-sqlalchemy
-
Django Models:Django 的一部分。
-
SQLAlchemy:Python SQL 工具以及对象关系映射工具。
-
awesome-sqlalchemy 系列
-
Peewee:一个小巧,富有表现力的 ORM。
-
PonyORM:提供面向生成器的 SQL 接口的 ORM。
-
python-sql:编写 Python 风格的 SQL 查询。
-
dataset:在数据库中存储字典,支持 SQLite,MySQL 和 PostgreSQL。
-
orator:Orator ORM,提供了一个简单而美观的 ActiveRecord 实现。
-
orm:一个异步的 ORM。
-
pony:提供面向生成器的SQL接口的ORM。
-
pydal:纯 Python 数据库抽象接口层。
-
NoSQL 数据库
-
django-mongodb-engine:Django MongoDB 后端。
-
PynamoDB:Amazon DynamoDB 的一个 Python 风格接口。
-
flywheel:Amazon DynamoDB 的对象映射工具。
-
MongoEngine:一个 Python 对象文档映射工具,用于 MongoDB。
-
hot-redis:为 Redis 提供 Python 丰富的数据类型。
-
redisco:一个 Python 库,提供可以持续存在在 Redis 中的简单模型和容器。
-
其他
-
butterdb:Google Drive 电子表格的 Python ORM。
25Web 框架
全栈 Web 框架。
-
Django:Python 界最流行的 web 框架。
-
awesome-django(by shahraizali) 系列
-
awesome-django(by wsvincent) 系列
-
Flask:一个 Python 微型框架。
-
awesome-flask 系列
-
Pyramid:一个小巧,快速,接地气的开源 Python web 框架。
-
awesome-pyramid 系列
-
Bottle:一个快速小巧,轻量级的 WSGI 微型 web 框架。
-
CherryPy:一个极简的 Python web 框架,服从 HTTP/1.1 协议且具有 WSGI 线程池。
-
TurboGears:一个可以扩展为全栈解决方案的微型框架。
-
web.py:一个 Python 的 web 框架,既简单,又强大。
-
web2py:一个全栈 web 框架和平台,专注于简单易用。
-
Tornado:一个 web 框架和异步网络库。
-
sanic:基于 Python3.5+ 的异步网络框架。
-
starlette:一款轻量级,高性能的 ASGI 框架。
-
Masonite:以开发者为中心的现代 Python Web 框架。
26WebSocket
Web socket 相关库。
-
autobahn-python:适用于 Twisted 和 asyncio 的 Python WebSocket 和 WAMP。
-
channels:开发者友好的 Django 异步工具。
-
websockets:一个用于构建 WebSocket 服务器和客户端的库,着重于正确性和简单性。
27权限
允许或拒绝用户访问数据或功能的库。
-
Carteblanche:站在用户和设计者角度开发的一个代码对齐模块,很好地处理了代码导航及权限。
-
django-guardian:Django 1.2+ ,实现了单个对象权限。
-
django-rules:一个小巧但是强大的应用,提供对象级别的权限管理,且不需要使用数据库。
28CMS
内容管理系统。
-
odoo-cms:一个开源的,企业级 CMS,基于 odoo。
-
django-cms:一个开源的,企业级 CMS,基于 Django。
-
djedi-cms:一个轻量级但却非常强大的 Django CMS ,考虑到了插件,内联编辑以及性能。
-
FeinCMS:基于 Django 构建的最先进的内容管理系统之一。
-
Kotti:一个高级的,Python 范的 web 应用框架,基于 Pyramid 构建。
-
Mezzanine:一个强大的,持续的,灵活的内容管理平台。
-
Opps:一个为杂志,报纸网站以及大流量门户网站设计的 CMS 平台,基于 Django。
-
Plone:一个构建于开源应用服务器 Zope 之上的 CMS。
-
Quokka:灵活,可扩展的小型 CMS,基于 Flask 和 MongoDB。
-
Wagtail:一个 Django 内容管理系统。
-
Widgy:最新的 CMS 框架,基于 Django。
-
indico:一个功能丰富的事件管理系统,由 @CERN 开发。
29电子商务
用于电子商务以及支付的框架和库。
-
django-oscar:一个用于 Django 的开源的电子商务框架。
-
django-shop:一个基于 Django 的店铺系统。
-
Cartridge:一个基于 Mezzanine 构建的购物车应用。
-
shoop:一个基于 Django 的开源电子商务平台。
-
alipay:非官方的 Python 支付宝 API。
-
merchant:一个可以接收来自多种支付平台支付的 Django 应用。
-
money:一个货币类库。带有可选的 CLDR 后端本地化格式,提供可扩展的货币兑换解决方案。
-
python-currencies:显示货币格式以及它的数值。
-
forex-python:外汇汇率,比特币价格指数和货币换算。
-
saleor:一款兼容 Django 的电子商务平台。
30RESTful API
用来开发 RESTful APIs 的库
-
Django
-
django-rest-framework:一个强大灵活的工具,用来构建 web API。
-
django-tastypie:为 Django 应用开发 API。
-
django-formapi:为 Django 的表单验证,创建 JSON APIs 。
-
Flask
-
flask-api:为 flask 开发的,可浏览 Web APIs 。
-
flask-restful:为 flask 快速创建 REST APIs 。
-
flask-restless:为 SQLAlchemy 定义的数据库模型创建 RESTful APIs 。
-
flask-api-utils:为 Flask 处理 API 表示和验证。
-
eve:REST API 框架,由 Flask, MongoDB 等驱动。
-
Pyramid
-
cornice:一个 Pyramid 的 REST 框架 。
-
与框架无关的
-
falcon:一个用来建立云 API 和 web app 后端的高性能框架。
-
sandman:为现存的数据库驱动系统自动创建 REST APIs 。
-
restless:框架无关的 REST 框架 ,基于从 Tastypie 学到的知识。
-
ripozo:快速创建 REST/HATEOAS/Hypermedia APIs。
-
apistar:专为Python 3设计的智能 Web API 框架。
-
fastapi:一个现代,快速,基于标准 Python 类型注解的的 web框架,可使用 Python3.6+ 版本构建 API。
-
hug:一个为纯净公开的 API 打造的 Python 3 框架。
-
sandman2:为数据库驱动的系统自动生成 REST API。
-
vibora:快速高效且支持异步的 Web 框架,灵感来源于 Flask。
31验证
实现验证方案的库。
-
OAuth
-
authlib:一个强大的Python库,用来构建 OAuth 和 OpenID 服务端。包括:JWS, JWK, JWA, JWT。
-
Authomatic:简单但是强大的框架,身份验证/授权客户端。
-
django-allauth:Django 的验证应用。
-
django-oauth-toolkit:为 Django 用户准备的 OAuth2。
-
django-oauth2-provider:为 Django 应用提供 OAuth2 接入。
-
Flask-OAuthlib:OAuth 1.0/a, 2.0 客户端实现,供 Flask 使用。
-
OAuthLib:一个 OAuth 请求-签名逻辑通用、 完整的实现。
-
python-oauth2:一个完全测试的抽象接口。用来创建 OAuth 客户端和服务端。
-
python-social-auth:一个设置简单的社会化验证方式。
-
rauth:OAuth 1.0/a, 2.0, 和 Ofly 的 Python 库。
-
sanction:一个超级简单的 OAuth2 客户端实现。
-
其他
-
PyJWT:JSON Web 令牌草案 01。
-
python-jws:JSON Web 签名草案 02 的实现。
-
python-jwt:一个用来生成和验证 JSON Web 令牌的模块。
-
python-jose:python 版 JOSE 实现。
32模板引擎
模板生成和词法解析的库和工具。
-
Jinja2:一个现代的,对设计师友好的模板引擎。
-
Chameleon:一个 HTML/XML 模板引擎。模仿了 ZPT(Zope Page Templates), 进行了速度上的优化。
-
Genshi:Python 模板工具,用以生成 web 感知的结果。
-
Mako:Python 平台的超高速轻量级模板。
33队列
处理事件以及任务队列的库。
-
celery:一个异步任务队列/作业队列,基于分布式消息传递
-
daramatiq:适用于Python 3的快速可靠的后台任务处理库。
-
huey:小型多线程任务队列。
-
mrq:一个 Python 的分布式 worker 任务队列, 使用 Redis 和 gevent。
-
rq:简单的 Python 作业队列。
-
simpleq:一个简单的,可无限扩张的,基于亚马逊 SQS 的队列。
34搜索
对数据进行索引和执行搜索查询的库和软件。
-
django-haystack:Django 模块化搜索。
-
elasticsearch-py:Elasticsearch 的官方底层 Python 客户端。
-
elasticsearch-dsl-py:Elasticsearch 的官方高级 Python 客户端。
-
solrpy:solr 的 Python 客户端。
-
pysolr:支持 Apache Solr 的轻量级 Python 装饰器。
-
Whoosh:一个快速的纯 Python 搜索引擎库。
动态消息
用来创建用户活动的库。
-
django-activity-stream:从你的站点行为中生成通用活动信息流。
-
Stream-Framework:使用 Cassandra 和 Redis 创建动态消息和通知系统。
35Web 资源管理
管理、压缩、缩小网站资源的工具。
-
django-compressor:将链接和内联的 JavaScript 或 CSS 压缩到一个单独的缓存文件中。
-
django-pipeline:Django 的资源包装库。
-
django-storages:一个针对 Django 的自定义存储后端的工具集合。
-
fanstatic:打包、优化,并且把静态文件依赖作为 Python 的包来提供。
-
File Conveyor:一个后台驻留的程序,用来发现和同步文件到 CDNs, S3 和 FTP。
-
Flask-Assets:帮你将 web 资源整合到你的 Flask app 中。
-
jinja-assets-compressor:一个 Jinja 扩展,用来编译和压缩你的资源。
-
webassets:为你的静态资源打包、优化和管理生成独一无二的缓存 URL。
36缓存
缓存数据的库。
-
Beaker:一个缓存和会话库,可以用在 web 应用和独立 Python 脚本和应用上。
-
django-cache-machine:Django 模型的自动缓存和失效。
-
django-cacheops:具有自动颗粒化事件驱动失效功能的 ORM。
-
django-viewlet:渲染模板,同时具有额外的缓存控制功能。
-
dogpile.cache:dogpile.cache 是 Beaker 的下一代替代品,由同一作者开发。
-
HermesCache:Python 缓存库,具有基于标签的失效和 dogpile effect 保护功能。
-
johnny-cache:django 应用缓存框架。
-
pylibmc:libmemcached 接口的 Python 封装。
-
python-diskcache:SQLite 和文件支持的缓存后端,具有比 memcached 和 redis 更快的查找速度。
37电子邮件
用来发送和解析电子邮件的库。
-
django-celery-ses:带有 AWS SES 和 Celery 的 Django email 后端。
-
envelopes:供人类使用的电子邮件库。
-
flanker:一个 email 地址和 Mime 解析库。
-
imbox:Python IMAP 库。
-
inbox.py:Python SMTP 服务器。
-
inbox:一个开源电子邮件工具箱。
-
lamson:Python 风格的 SMTP 应用服务器。
-
mailjet:Mailjet API 实现,用来提供批量发送邮件,统计等功能。
-
marrow.mailer:高性能可扩展邮件分发框架。
-
modoboa:一个邮件托管和管理平台,具有现代的、简约的 Web UI。
-
pyzmail:创建,发送和解析电子邮件。
-
Talon:Mailgun 库,用来抽取信息和签名。
-
yagmail:yagmail是一个GMAIL / SMTP客户端,旨在使其尽可能简单地发送电子邮件。
-
salmon:一个 Python 邮件服务器。
-
mailer:一款高性能可扩展的邮件投递框架。
38国际化
用来进行国际化的库。
-
Babel:一个 Python 的国际化库。
-
Korean:一个韩语词态库。
-
PyICU:一个封装了 ICU C++ 库的 Python 扩展。
39URL 处理
解析 URLs 的库
-
furl:一个让处理 URL 更简单小型 Python 库。
-
purl:一个简单的,不可变的 URL 类,具有简洁的 API 来进行询问和处理。
-
pyshorteners:一个纯 Python URL 缩短库。
-
shorturl:生成短小 URL 和类似 bit.ly 短链的 Python 实现。
-
webargs:一个解析 HTTP 请求参数的库,内置对流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado 和 Pyramid。
40HTML 处理
处理 HTML 和 XML 的库。
-
BeautifulSoup:以 Python 风格的方式来对 HTML 或 XML 进行迭代,搜索和修改。
-
bleach:一个基于白名单的 HTML 清理和文本链接库。
-
cssutils:一个 Python 的 CSS 库。
-
html5lib:一个兼容标准的 HTML 文档和片段解析及序列化库。
-
lxml:一个非常快速,简单易用,功能齐全的库,用来处理 HTML 和 XML。
-
MarkupSafe:为 Python 实现 XML/HTML/XHTML 标记安全字符串。
-
pyquery:一个解析 HTML 的库,类似 jQuery。
-
requests-html:人性化的,Pythonic 的 HTML 解析库。
-
untangle:将 XML 文档转换为 Python 对象,使其可以方便的访问。
-
xhtml2pdf:HTML/CSS 转 PDF 工具。
-
xmltodict:像处理 JSON 一样处理 XML。
-
WeasyPrint:用于HTML和CSS的可视化呈现引擎,并可以导出为 PDF。
-
xmldataset:简单 XML 解析。
爬取网络站点的库
-
Scrapy:一个快速高级的屏幕爬取及网页采集框架。
-
ScrapydWeb:一个用于 Scrapyd 集群管理的全功能 web UI,支持 Scrapy 日志分析和可视化,自动打包,定时器任务和邮件通知等特色功能。
-
cola:一个分布式爬虫框架。
-
Demiurge:基于 PyQuery 的爬虫微型框架。
-
feedparser:通用 feed 解析器。
-
Grab:站点爬取框架。
-
MechanicalSoup:用于自动和网络站点交互的 Python 库。
-
portia:Scrapy 可视化爬取。
-
pyspider:一个强大的爬虫系统。
-
RoboBrowser:一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。
41网页内容提取
用于进行网页内容提取的库。
-
Haul:一个可以扩展的图像爬取工具。
-
html2text:将 HTML 转换为 Markdown 格式文本。
-
lassie:人性化的网页内容检索库。
-
micawber:一个小型网页内容提取库,用来从 URLs 提取富内容。
-
newspaper:使用 Python 进行新闻提取,文章提取以及内容策展。
-
opengraph:一个用来解析开放内容协议(Open Graph Protocol)的 Python 模块。
-
python-goose:HTML 内容/文章提取器(python2)。
-
goose3:HTML 内容/文章提取器(python3)。
-
python-readability:arc90 公司 readability 工具的 Python 高速端口。
-
sanitize:为杂乱的数据世界带来调理性。
-
sumy:一个为文本文件和 HTML 页面进行自动摘要的模块。
-
textract:从任何格式的文档中提取文本,Word,PowerPoint,PDFs 等等。
42表单
进行表单操作的库。
-
Deform:Python HTML 表单生成库,受到了 formish 表单生成库的启发。
-
django-bootstrap3:集成了 Bootstrap 3 的 Django。
-
django-bootstrap4:集成了 Bootstrap 4 的 Django。
-
django-crispy-forms:一个 Django 应用,他可以让你以一种非常优雅且 DRY (Don’t repeat yourself) 的方式来创建美观的表单。
-
django-remote-forms:一个平台独立的 Django 表单序列化工具。
-
WTForms:一个灵活的表单验证和呈现库。
-
WTForms-JSON:一个 WTForms 扩展,用来处理 JSON 数据。
43数据验证
数据验证库。多用于表单验证。
-
Cerberus:一个映射验证器(mappings-validator)。支持多种规则,提供归一化功能,可以方便地定制为 Python 风格的 schema 定义。
-
colander:一个用于对从 XML, JSON,HTML 表单获取的数据或其他同样简单的序列化数据进行验证和反序列化的系统。
-
kmatch:一种用于匹配/验证/筛选 Python 字典的语言。
-
schema:一个用于对 Python 数据结构进行验证的库。
-
Schematics:数据结构验证。
-
valideer:轻量级可扩展的数据验证和适配库。
-
voluptuous:一个 Python 数据验证库。主要是为了验证传入 Python 的 JSON,YAML 等数据。
-
jsonschema:JSON Schema 的 python 实现,用于 JSON 数据的验证。
44序列化
复杂数据类型序列化相关库。
-
marshmallow:一个轻量级的库,用于将复杂对象与简单 Python 数据类型相互转换。
-
pysimdjson:与 Python 绑定的 simdjson 。
-
python-rapidjson:RapidJSON 的 Python 封装。
-
ultrajson:使用 Python 绑定的,用 C 编写的快速 JSON 解码器和编码器。
45反垃圾技术
帮助你和电子垃圾进行战斗的库。
-
django-simple-captcha:一个简单、高度可定制的 Django 应用,可以为任何 Django 表单添加验证码。
-
django-simple-spam-blocker:一个用于 Django 的简单的电子垃圾屏蔽工具。
46标记
用来进行标记的库。
- django-taggit:简单的 Django 标记工具。
47管理面板
管理界面库。
-
Ajenti:一个你的服务器值得拥有的管理面板。
-
django-suit:Django 管理界面的一个替代品(仅对于非商业用途是免费的)。
-
django-xadmin:Django admin 的一个替代品,具有很多不错的功能。
-
flask-admin:一个用于 Flask 的简单可扩展的管理界面框架。
-
flower:一个对 Celery 集群进行实时监控和提供 web 管理界面的工具。
-
Grappelli:Django 管理界面的一个漂亮的皮肤。
-
Wooey:一个 Django 应用,可以为 Python 脚本创建 web 用户界面。
-
django-grappelli:拥有绚丽外观的 Django Admin 界面。
-
django-jet:具有改进功能的现代响应式 Django 管理界面模板。
-
jet-bridge:管理面板框架,适用于任何具有良好 UI 的应用(例如 Django)。
48Serverless 框架
使用 Python 开发 Serverless 模型相关的库。
-
python-lambda :在 AWS Lambda 开发和部署 Python 代码的工具包。
-
Zappa:在 AWS Lambda 和 API Gateway 部署 WSGI 应用的工具。
49静态站点生成器
静态站点生成器是一个软件,它把文本和模板作为输入,然后输出 HTML 文件。
-
Pelican:使用 Markdown 或 ReST 来处理内容, Jinja 2 来制作主题。支持 DVCS, Disqus.。AGPL 许可。
-
Cactus:为设计师设计的静态站点生成器。
-
Hyde:基于 Jinja2 的静态站点生成器。
-
Nikola:一个静态网站和博客生成器。
-
Tinkerer:Tinkerer 是一个博客引擎/静态站点生成器,由 Sphinx 驱动。
-
Lektor:一个简单易用的静态 CMS 和博客引擎。
-
makesite:简单轻量的站点/博客生成器(小于 130 行代码)。
50进程
操作系统进程启动及通信库。
-
envoy:比 Python subprocess 模块更人性化。
-
sarge:另一 种 subprocess 模块的封装。
-
sh:一个完备的 subprocess 替代库。
-
delegator.py:人性化的 Subprocesses 2.0 版本。
51并发和并行
用以进行并发和并行操作的库。
-
multiprocessing:(Python 标准库) 基于进程的“线程”接口。
-
threading:(Python 标准库)更高层的线程接口。
-
eventlet:支持 WSGI 的异步框架。
-
gevent:一个基于协程的 Python 网络库,使用 greenlet。
-
Tomorrow:用于产生异步代码的神奇的装饰器语法实现。
-
uvloop:在 libuv 之上超快速实现 asyncio 事件循环。
-
concurrent.futures:(Python 标准库) 异步执行可调用对象的高级接口。
-
gevent:使用 greenlet 且基于协程的 Python 网络库。
-
scoop:支持在 Python 中进行可伸缩并行操作。
52网络
用于网络编程的库。
-
asyncio:(Python 标准库) 异步 I/O,事件循环,协程以及任务。
-
trio:异步并发和 I/O 友好的库。
-
Twisted:一个事件驱动的网络引擎。
-
pulsar:事件驱动的并发框架。
-
diesel:基于 Greenlet 的事件 I/O 框架。
-
pyzmq:一个 ZeroMQ 消息库的 Python 封装。
-
Toapi:一个轻巧,简单,快速的 Flask 库,致力于为所有网站提供 API 服务。
-
txZMQ:基于 Twisted 的 ZeroMQ 消息库的 Python 封装。
53WebSocket
帮助使用 WebSocket 的库。
-
AutobahnPython:给 Python、使用的 WebSocket & WAMP 基于 Twisted 和 asyncio。
-
Crossbar:开源统一应用路由(Websocket & WAMP for Python on Autobahn)。
-
django-socketio:给 Django 用的 WebSockets。
-
WebSocket-for-Python:为 Python2/3 以及 PyPy 编写的 WebSocket 客户端和服务器库。
54WSGI 服务器
兼容 WSGI 的 web 服务器
-
gunicorn:Pre-forked, 部分是由 C 语言编写的。
-
uwsgi:uwsgi 项目的目的是开发一组全栈工具,用来建立托管服务,由 C 语言编写。
-
bjoern:异步,非常快速,由 C 语言编写。
-
fapws3:异步 (仅对于网络端),由 C 语言编写。
-
meinheld:异步,部分是由 C 语言编写的。
-
netius:异步,非常快速。
-
paste:多线程,稳定,久经考验。
-
rocket:多线程。
-
waitress:多线程,是它驱动着 Pyramid 框架。
-
Werkzeug:一个 WSGI 工具库,驱动着 Flask,而且可以很方便大嵌入到你的项目中去。
55ASGI 服务器
兼容 ASGI 的 web 服务器。
-
daphne:用于 ASGI 和 ASGI-HTTP 的,支持 HTTP,HTTP2 和 WebSocket 协议的服务器。
-
uvicorn:使用 uvloop 和 httptools 实现的闪电般快速的 ASGI 服务器。
56RPC 服务器
兼容 RPC 的服务器。
-
SimpleJSONRPCServer:这个库是 JSON-RPC 规范的一个实现。
-
SimpleXMLRPCServer:(Python 标准库) 简单的 XML-RPC 服务器实现,单线程。
-
zeroRPC:zerorpc 是一个灵活的 RPC 实现,基于 ZeroMQ 和 MessagePack。
-
RPyC (Remote Python Call):适用于 Python 的透明且对称的RPC库。
57密码学
-
cryptography:这个软件包意在提供密码学基本内容和方法提供给 Python 开发者。
-
hashids:在 Python 中实现 hashids 。
-
Paramiko:SSHv2 协议的 Python (2.6+, 3.3+) ,提供客户端和服务端的功能。
-
Passlib:安全密码存储/哈希库。
-
PyCrypto:Python 密码学工具箱。
-
PyNacl:网络和密码学(NaCl) 库的 Python 绑定。
58图形用户界面
用来创建图形用户界面程序的库。
-
curses:内建的 ncurses 封装,用来创建终端图形用户界面。
-
enaml:使用类似 QML 的 Declaratic 语法来创建美观的用户界面。
-
kivy:一个用来创建自然用户交互(NUI)应用程序的库,可以运行在 Windows, Linux, Mac OS X, Android 以及 iOS 平台上。
-
pyglet:一个 Python 的跨平台窗口及多媒体库。
-
PyQt:跨平台用户界面框架 Qt 的 Python 绑定 ,支持 Qt v4 和 Qt v5。
-
PySide:跨平台用户界面框架 Qt 的 Python 绑定 ,支持 Qt v4。
-
Tkinter:Tkinter 是 Python GUI 的一个事实标准库。
-
Toga:一个 Python 原生的,操作系统原生的 GUI 工具包。
-
urwid:一个用来创建终端 GUI 应用的库,支持组件,事件和丰富的色彩等。
-
wxPython:wxPython 是 wxWidgets C++ 类库和 Python 语言混合的产物。
-
PyGObject:GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 绑定。
-
Flexx:Flexx 是一个纯 Python 语言编写的用来创建 GUI 程序的工具集,它使用 web 技术进行界面的展示。
-
Eel:用于制作简单离线 HTML/JS GUI 应用的库。
-
PySimpleGUI:tkinter,Qt,WxPython 和 Remi 的封装。
-
pywebview:围绕网页视图组件的轻量级跨平台的原生包装。
-
DearPyGui:一个简单的可使用 GPU 加速的 Python GUI 框架。
59游戏开发
超赞的游戏开发库。
-
Cocos2d:cocos2d 是一个用来开发 2D 游戏, 示例和其他图形/交互应用的框架。基于 pyglet。
-
Panda3D:由迪士尼开发的 3D 游戏引擎,并由卡内基梅陇娱乐技术中心负责维护。使用 C++ 编写, 针对 Python 进行了完全的封装。
-
Pygame:Pygame 是一组 Python 模块,用来编写游戏。
-
PyOgre:Ogre 3D 渲染引擎的 Python 绑定,可以用来开发游戏和仿真程序等任何 3D 应用。
-
PyOpenGL:OpenGL 的 Python 绑定及其相关 APIs。
-
PySDL2:SDL2 库的封装,基于 ctypes。
-
RenPy:一个视觉小说(visual novel)引擎。
-
Arcade:一个现代 Python 框架,用于制作具有引人入胜的图形与声音的游戏。
-
Harfang3D:支持3D,VR 与游戏开发的 Python 框架。
60日志
用来生成和操作日志的库。
-
logging:(Python 标准库) 为 Python 提供日志功能。
-
logbook:Logging 库的替代品。
-
Eliot:为复杂的和分布式系统创建日志。
-
Raven:Sentry 的 Python 客户端。
-
Sentry:实时记录和收集日志的服务器。
-
sentry-python:Python 版 Sentry SDK。
-
loguru:旨在带来愉悦体验的 Python 日志库。
-
structlog:结构化日志,让日志变得简单。
61测试
进行代码库测试和生成测试数据的库。
-
测试框架
-
- unittest:(Python 标准库) 单元测试框架。
-
nose:nose 扩展了 unittest 的功能。
-
nose2
nose
的继任者,基于unittest2
。 -
contexts:一个 Python 3.3+ 的 BDD 框架。受到 C# Machine.Specifications 的启发。
-
hypothesis:Hypothesis 是一个基于先进的 Quickcheck 风格特性的测试库。
-
mamba:Python 的终极测试工具, 拥护 BDD。
-
pyshould:Should 风格的断言,基于 PyHamcrest。
-
pytest:一个成熟的全功能 Python 测试工具。
-
green:干净,多彩的测试工具。
-
pyvows:BDD 风格的测试工具,受 Vows.js 的启发。
-
Robot Framework:一个通用的自动化测试框架。
-
tox:自动化测试与发布的工具,支持多个 Python 版本。
-
GUI / Web 测试
-
- Selenium:Selenium WebDriver 的 Python 绑定。
-
PyAutoGUI:PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块。
-
locust:使用 Python 编写的,可扩展的用户加载测试工具。
-
sixpack:一个和语言无关的 A/B 测试框架。
-
splinter:开源的 web 应用测试工具。
-
Schemathesis:基于属性的自动测试工具,用于测试使用 Open API / Swagger 规范构建的 Web 应用程序。
-
Mock 测试
-
- mock:(Python 标准库) 一个用于伪造测试的库。
-
doublex:Python 的一个功能强大的 doubles 测试框架。
-
freezegun:通过伪造日期模块来生成不同的时间。
-
httmock:针对 Python 2.6+ 和 3.2+ 生成 伪造请求的库。
-
httpretty:Python 的 HTTP 请求 mock 工具。
-
responses:伪造 Python 中的 requests 库的一个通用库。
-
VCR.py:在你的测试中记录和重放 HTTP 交互。
-
mocket:gevent/asyncio/SSL 支持的 socket mock 框架。
-
对象工厂
-
- factoryboy:一个 Python 用的测试固件 (test fixtures) 替代库。
-
mixer:另外一个测试固件 (test fixtures) 替代库,支持 Django, Flask, SQLAlchemy, Peewee 等。
-
modelmommy:为 Django 测试创建随机固件。
-
代码覆盖率
-
- coverage:代码覆盖率测量。
-
Codecov:一个代码覆盖率测试工具,为开源项目提供免费代码覆盖率测试服务。
-
伪数据
-
- faker:一个 Python 库,用来生成伪数据。
-
fake2db:伪数据库生成器。
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、全套PDF电子书
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
四、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
五、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
-
pytest:一个成熟的全功能 Python 测试工具。
-
green:干净,多彩的测试工具。
-
pyvows:BDD 风格的测试工具,受 Vows.js 的启发。
-
Robot Framework:一个通用的自动化测试框架。
-
tox:自动化测试与发布的工具,支持多个 Python 版本。
-
GUI / Web 测试
-
- Selenium:Selenium WebDriver 的 Python 绑定。
-
PyAutoGUI:PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块。
-
locust:使用 Python 编写的,可扩展的用户加载测试工具。
-
sixpack:一个和语言无关的 A/B 测试框架。
-
splinter:开源的 web 应用测试工具。
-
Schemathesis:基于属性的自动测试工具,用于测试使用 Open API / Swagger 规范构建的 Web 应用程序。
-
Mock 测试
-
- mock:(Python 标准库) 一个用于伪造测试的库。
-
doublex:Python 的一个功能强大的 doubles 测试框架。
-
freezegun:通过伪造日期模块来生成不同的时间。
-
httmock:针对 Python 2.6+ 和 3.2+ 生成 伪造请求的库。
-
httpretty:Python 的 HTTP 请求 mock 工具。
-
responses:伪造 Python 中的 requests 库的一个通用库。
-
VCR.py:在你的测试中记录和重放 HTTP 交互。
-
mocket:gevent/asyncio/SSL 支持的 socket mock 框架。
-
对象工厂
-
- factoryboy:一个 Python 用的测试固件 (test fixtures) 替代库。
-
mixer:另外一个测试固件 (test fixtures) 替代库,支持 Django, Flask, SQLAlchemy, Peewee 等。
-
modelmommy:为 Django 测试创建随机固件。
-
代码覆盖率
-
- coverage:代码覆盖率测量。
-
Codecov:一个代码覆盖率测试工具,为开源项目提供免费代码覆盖率测试服务。
-
伪数据
-
- faker:一个 Python 库,用来生成伪数据。
-
fake2db:伪数据库生成器。
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、全套PDF电子书
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
四、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
五、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
[外链图片转存中…(img-ux5O0xHV-1713791994780)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!