大概列了一下整个Python库的应用的方法面面,粗略算算就有20几个方向。左右两边分两个方向,左边负责进攻(主外),每一项单独拉出来都是精品,都是Python应用里面拳头产品;右边负责守(主内),都是涉及底层的配置,算是整个大厦的地基。
1.Python大厦的底层基建
环境管理
管理 Python 版本和环境的工具:
-
pyenv:简单的 Python 版本管理工具。
-
-
virtualenv:创建独立 Python 环境的工具。
-
包管理
管理包和依赖的工具:
-
pip:Python 包和依赖关系管理工具。
-
-
pipenv:Python 官方推荐的新一代包管理工具。
-
-
conda:跨平台,Python 二进制包管理工具。
-
-
wheel:Python 分发的新标准,意在取代 eggs。
分发
打包为可执行文件以便分发。
-
PyInstaller:将 Python 程序转换成独立的执行文件(跨平台)。
-
-
dh-virtualenv:构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。
-
-
py2app:将 Python 脚本变为独立软件包(Mac OS X)。
-
-
pynsist:一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python 本身。
配置
用来保存和解析配置的库:
-
config:logging 模块作者写的分级配置模块。
-
-
ConfigParser:(Python 标准库) INI 文件解析器。
-
-
python-decouple:将设置和代码完全隔离。
2.Python大厦的管理配置
文件
-
aiofiles:基于 asyncio,提供文件异步操作
-
-
mimetypes:(Python 标准库)将文件名映射为 MIME 类型
-
-
pathlib:(Python3.4+ 标准库)跨平台的、面向对象的路径操作库
-
-
Unipath:用面向对象的方式操作文件和目录
-
-
pofile:给小白的文件处理工具
日期和时间
操作日期和时间的类库:
-
arrow:更好的 Python 日期时间操作类库。
-
-
dateutil:Python datetime 模块的扩展。
-
-
maya:人性化的时间处理库。
-
-
pendulum:一个比 arrow 更具有明确的,可预测的行为的时间操作库。
-
-
pytz:现代以及历史版本的世界时区定义。将时区数据库引入 Python。
-
-
potime:统计代码运行时间的代码工具。
文本处理
用于解析和操作文本的库。
通用
-
chardet:字符编码检测器,兼容 Python2 和 Python3。
-
-
ftfy:让 Unicode 文本更完整更连贯。
-
-
Levenshtein:快速计算编辑距离以及字符串的相似度。
-
-
pypinyin:汉字拼音转换工具 Python 版。
-
-
simplejson:Python 的 JSON 编码、解码器。
-
-
uniout:打印可读的字符,而不是转义的字符串。
-
-
yfiglet-figlet:pyfiglet -figlet 的 Python 实现。
-
Slug 化
-
awesome-slugify:一个 Python slug 化库,可以保持 Unicode。
-
-
unicode-slugify:一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。
解析器
-
phonenumbers:解析,格式化,储存,验证电话号码。
-
-
Pygments:通用语法高亮工具。
-
-
python-nameparser:把一个人名分解为几个独立的部分。
-
-
sqlparse:一个无验证的 SQL 解析器。
办公文本格式处理
通用
Office
-
Marmir:把输入的 Python 数据结构转换为电子表单。
-
-
pyexcel:一个提供统一 API,用来读写,操作 Excel 文件的库。
-
-
relatorio:模板化 OpenDocument 文件。
-
-
XlsxWriter:一个用于创建 Excel .xlsx 文件的 Python 模块。
-
-
xlwt:读写 Excel 文件的数据和格式信息。
-
PDF
-
PDFMiner:一个用于从 PDF 文档中抽取信息的工具。
-
-
PyPDF2:一个可以分割,合并和转换 PDF 页面的库。
-
Markdown
-
Mistune:快速并且功能齐全的纯 Python 实现的 Markdown 解析器。
-
-
Python-Markdown2:纯 Python 实现的 Markdown 解析器,比 Python-Markdown 更快,更准确
YAML
-
PyYAML:Python 版本的 YAML 解析器。
CSV
配置
用来保存和解析配置的库。
-
config:logging 模块作者写的分级配置模块。
-
-
ConfigParser:(Python 标准库) INI 文件解析器。
-
-
python-decouple:将设置和代码完全隔离。
命令行工具
用于创建命令行程序的库。
命令行程序开发
-
asciimatics:跨平台,全屏终端包(即鼠标/键盘输入和彩色,定位文本输出),完整的复杂动画和特殊效果的高级 API。
-
-
click:一个通过组合的方式来创建精美命令行界面的包。
-
-
clint:Python 命令行程序工具。
-
-
docopt:Python 风格的命令行参数解析器。
-
-
python-prompt-toolkit:一个用于构建强大的交互式命令行程序的库。
-
-
Pythonpy:在命令行中直接执行任何 Python 指令。
生产力工具
-
aws-cli:Amazon Web Services 的通用命令行界面。
-
-
caniusepython3:判断是哪个项目妨碍你你移植到 Python3。
-
-
doitlive:一个用来在终端中进行现场演示的工具。
-
-
howdoi:通过命令行获取即时的编程问题解答。
-
-
PathPicker:从 bash 输出中选出文件。
-
-
SAWS:一个加强版的 AWS 命令行。
-
-
mycli:一个 MySQL 命令行客户端,具有自动补全和语法高亮功能。
-
-
try:一个从来没有更简单的命令行工具,用来试用 python 库。
3.Python大厦的仓库
数据库
Python 实现的数据库。
-
pickleDB:一个简单,轻量级键值储存数据库。
-
-
TinyDB:一个微型的,面向文档型数据库。
-
数据库驱动
用来连接和操作数据库的库。
MySQL:awesome-mysql 系列
-
aiomysql:基于 asyncio 的异步 MySQL 数据库操作库。
-
-
ysqlclient:mysql-python 分支,支持 Python 3。
-
-
PyMySQL:纯 Python MySQL 驱动,兼容 mysql-python。
PostgreSQL
-
psycopg2:Python 中最流行的 PostgreSQL 适配器。
-
-
txpostgres:基于 Twisted 的异步 PostgreSQL 驱动。
其他关系型数据库
-
apsw:另一个 Python SQLite 封装。
-
-
pymssql:一个简单的 Microsoft SQL Server 数据库接口。
NoSQL 数据库
-
asyncio-redis:基于 asyncio 的 redis 客户端 (PEP 3156)。
-
-
HappyBase:一个为 Apache HBase 设计的,对开发者友好的库。
-
-
py2neo:Neo4j restful 接口的 Python 封装客户端。
-
-
PyMongo:MongoDB 的官方 Python 客户端。
-
-
telephus:基于 Twisted 的 Cassandra 客户端。
-
4.Python大厦的网络通讯
网络
用于网络编程的库。
-
asyncio:(Python 标准库) 异步 I/O, 事件循环, 协程以及任务。
-
-
pulsar:事件驱动的并发框架。
-
-
pyzmq:一个 ZeroMQ 消息库的 Python 封装。
-
-
txZMQ:基于 Twisted 的 ZeroMQ 消息库的 Python 封装。
HTTP
使用 HTTP 的库。
-
aiohttp:基于 asyncio 的异步 HTTP 网络库。
-
-
grequests:requests 库 + gevent ,用于异步 HTTP 请求.
-
-
treq:类似 requests 的 Python API 构建于 Twisted HTTP 客户端之上。
-
-
WebSocket 帮助使用 WebSocket 的库。
-
-
Crossbar:开源统一应用路由(Websocket & WAMP for Python on Autobahn)。
-
-
WebSocket-for-Python:为 Python2/3 以及 PyPy 编写的 WebSocket 客户端和服务器库。
WSGI 服务器
兼容 WSGI 的 web 服务器
-
gunicorn:Pre-forked, 部分是由 C 语言编写的。
-
-
bjoern:异步,非常快速,由 C 语言编写。
-
-
meinheld:异步,部分是由 C 语言编写的。
-
-
paste:多线程,稳定,久经考验。
-
-
waitress:多线程, 是它驱动着 Pyramid 框架。
-
Web 框架
全栈 Web 框架。
-
Django:Python 界最流行的 web 框架。
-
-
pyramid:一个小巧,快速,接地气的开源 Python web 框架。
-
-
CherryPy:一个极简的 Python web 框架,服从 HTTP/1.1 协议且具有 WSGI 线程池。
-
-
Tornado:一个 web 框架和异步网络库。
-
-
starlette: 一款轻量级,高性能的 ASGI 框架
电子商务
用于电子商务以及支付的框架和库。
-
django-oscar:一个用于 Django 的开源的电子商务框架。
-
-
Cartridge:一个基于 Mezzanine 构建的购物车应用。
-
-
alipay:非官方的 Python 支付宝 API。
-
-
money:一个货币类库。带有可选的 CLDR 后端本地化格式,提供可扩展的货币兑换解决方案。
-
RESTful API
用来开发 RESTful APIs 的库
Django
-
django-rest-framework:一个强大灵活的工具,用来构建 web API。
-
-
django-formapi:为 Django 的表单验证,创建 JSON APIs 。
Flask
-
flask-api:为 flask 开发的,可浏览 Web APIs 。
-
-
flask-restless:为 SQLAlchemy 定义的数据库模型创建 RESTful APIs 。
-
-
eve:REST API 框架,由 Flask, MongoDB 等驱动。
Pyramid
-
cornice:一个 Pyramid 的 REST 框架 。
与框架无关的
-
falcon:一个用来建立云 API 和 web app 后端的高性能框架。
-
-
restless:框架无关的 REST 框架 ,基于从 Tastypie 学到的知识。
-
模板引擎
模板生成和词法解析的库和工具。
-
Jinja2:一个现代的,对设计师友好的模板引擎。
-
-
Genshi:Python 模板工具,用以生成 web 感知的结果。
-
队列
处理事件以及任务队列的库。
-
celery:一个异步任务队列/作业队列,基于分布式消息传递。
-
-
mrq:Mr. Queue -一个 Python 的分布式 worker 任务队列, 使用 Redis 和 gevent。
-
-
simpleq:一个简单的,可无限扩张的,基于亚马逊 SQS 的队列。
搜索
对数据进行索引和执行搜索查询的库和软件。
-
django-haystack:Django 模块化搜索。
-
-
elasticsearch-dsl-py:Elasticsearch 的官方高级 Python 客户端。
-
-
Whoosh:一个快速的纯 Python 搜索引擎库。
电子邮件
用来发送和解析电子邮件的库。
-
django-celery-ses:带有 AWS SES 和 Celery 的 Django email 后端。
-
-
flanker:一个 email 地址和 Mime 解析库。
-
-
inbox.py:Python SMTP 服务器。
-
-
lamson:Python 风格的 SMTP 应用服务器。
-
marrow.mailer:高性能可扩展邮件分发框架。
-
modoboa:一个邮件托管和管理平台,具有现代的、简约的 Web UI。
-
-
Talon:Mailgun 库,用来抽取信息和签名。
-
URL 处理
解析 URLs 的库
-
furl:一个让处理 URL 更简单小型 Python 库。
-
-
pyshorteners:一个纯 Python URL 缩短库。
-
-
webargs:一个解析 HTTP 请求参数的库,内置对流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado 和 Pyramid。
5.Python大厦的动力系统
进程
操作系统进程启动及通信库。
-
envoy:比 Python subprocess 模块更人性化。
-
-
sh:一个完备的 subprocess 替代库。
并发和并行
用以进行并发和并行操作的库。
-
multiprocessing:(Python 标准库) 基于进程的“线程”接口。
-
-
eventlet:支持 WSGI 的异步框架。
-
-
Tomorrow:用于产生异步代码的神奇的装饰器语法实现。
-

总结
- 最后希望你编程学习上不急不躁,按照计划有条不紊推进,把任何一件事做到极致,都是不容易的,加油,努力!相信自己!
文末福利
- 最后这里免费分享给大家一份Python全套学习资料,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
包含编程资料、学习路线图、源代码、软件安装包等!【[点击这里]】领取!
- ① Python所有方向的学习路线图,清楚各个方向要学什么东西
- ② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
- ③ 100多个Python实战案例,学习不再是只会理论
- ④ 华为出品独家Python漫画教程,手机也能学习
可以扫描下方二维码领取【保证100%免费】
