黑马程序员技术交流社区

标题: Python--Flask Django等常用库总结 [打印本页]

作者: 长沙黑马周润发    时间: 2018-10-19 18:01
标题: Python--Flask Django等常用库总结
# Python 资源大全中文版
我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。[awesome-python](https://link.jianshu.com?t=https ... ta%2Fawesome-python) 是 vinta 发起维护的 Python 资源列表,内容包括:Web框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。由伯乐在线持续更新。
Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大。这也是我们发起这个开源项目的初衷。
### 我们要做什么?
*   基于 awesome-python 列表,我们将对其中的各个资源项进行编译整理。此外还将从其他来源补充好资源。
*   整理后的内容,将收录在[伯乐在线资源频道](https://link.jianshu.com?t=http%3A%2F%2Fhao.jobbole.com%2F)。可参考已整理的内容:
*   《[Scrapy:Python的爬虫框架](https://link.jianshu.com?t=http% ... %2Fpython-scrapy%2F)》
*   《[Flask:一个使用Python编写的轻量级Web应用框架](https://link.jianshu.com?t=http% ... bole.com%2Fflask%2F)》
### 环境管理
管理 Python 版本和环境的工具
*   p:非常简单的交互式 python 版本管理工具。[官网](https://link.jianshu.com?t=https ... .com%2Fqw3rtman%2Fp)
*   pyenv:简单的 Python 版本管理工具。[官网](https://link.jianshu.com?t=https ... .com%2Fyyuu%2Fpyenv)
*   Vex:可以在虚拟环境中执行命令。[官网](https://link.jianshu.com?t=https ... m%2Fsashahart%2Fvex)
*   virtualenv:创建独立 Python 环境的工具。[官网](https://link.jianshu.com?t=https ... 2Fpypi%2Fvirtualenv)
*   virtualenvwrapper:virtualenv 的一组扩展。[官网](https://link.jianshu.com?t=https ... 2Fvirtualenvwrapper)
### 包管理
管理包和依赖的工具。
*   pip:Python 包和依赖关系管理工具。[官网](https://link.jianshu.com?t=https%3A%2F%2Fpip.pypa.io%2F)
*   pip-tools:保证 Python 包依赖关系更新的一组工具。[官网](https://link.jianshu.com?t=https ... %2Fnvie%2Fpip-tools)
*   conda:跨平台,Python 二进制包管理工具。[官网](https://link.jianshu.com?t=https ... %2Fconda%2Fconda%2F)
*   Curdling:管理 Python 包的命令行工具。[官网](https://link.jianshu.com?t=http%3A%2F%2Fclarete.li%2Fcurdling%2F)
*   wheel:Python 分发的新标准,意在取代 eggs。[官网](https://link.jianshu.com?t=http%3A%2F%2Fpythonwheels.com%2F)
### 包仓库
本地 PyPI 仓库服务和代{过}{滤}理。
*   warehouse:下一代 PyPI。[官网](https://link.jianshu.com?t=https ... %2Fpypa%2Fwarehouse)
*   Warehouse:PyPA 提供的 PyPI 镜像工具。[官网](https://link.jianshu.com?t=https%3A%2F%2Fwarehouse.python.org%2F) [bandersnatch](https://link.jianshu.com?t=https ... pypa%2Fbandersnatch)
*   devpi:PyPI 服务和打包/测试/分发工具。[官网](https://link.jianshu.com?t=http%3A%2F%2Fdoc.devpi.net%2F)
*   localshop:本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。[官网](https://link.jianshu.com?t=https ... llingen%2Flocalshop)
### 分发
打包为可执行文件以便分发。
*   PyInstaller:将 Python 程序转换成独立的执行文件(跨平台)。[官网](https://link.jianshu.com?t=https ... aller%2Fpyinstaller)
*   dh-virtualenv:构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。[官网](https://link.jianshu.com?t=http% ... .readthedocs.org%2F)
*   Nuitka:将脚本、模块、包编译成可执行文件或扩展模块。[官网](https://link.jianshu.com?t=http%3A%2F%2Fnuitka.net%2F)
*   py2app:将 Python 脚本变为独立软件包(Mac OS X)。[官网](https://link.jianshu.com?t=http% ... ted.org%2Fpy2app%2F)
*   py2exe:将 Python 脚本变为独立软件包(Windows)。[官网](https://link.jianshu.com?t=http%3A%2F%2Fwww.py2exe.org%2F)
*   pynsist:一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。[官网](https://link.jianshu.com?t=http% ... .readthedocs.org%2F)
### 构建工具
将源码编译成软件。
*   buildout:一个构建系统,从多个组件来创建,组装和部署应用。[官网](https://link.jianshu.com?t=http%3A%2F%2Fwww.buildout.org%2F)
*   BitBake:针对嵌入式 Linux 的类似 make 的构建工具。[官网](https://link.jianshu.com?t=http% ... ke-user-manual.html)
*   fabricate:对任何语言自动找到依赖关系的构建工具。[官网](https://link.jianshu.com?t=https ... ive%2Fp%2Ffabricate)
*   PlatformIO:多平台命令行构建工具。[官网](https://link.jianshu.com?t=https ... formio%2Fplatformio)
*   PyBuilder:纯 Python 实现的持续化构建工具。[官网](https://link.jianshu.com?t=https ... builder%2Fpybuilder)
*   SCons:软件构建工具。[官网](https://link.jianshu.com?t=http%3A%2F%2Fwww.scons.org%2F)
### 交互式解析器
交互式 Python 解析器。
*   IPython:功能丰富的工具,非常有效的使用交互式 Python。[官网](https://link.jianshu.com?t=https ... 2Fipython%2Fipython)
*   [bpython](https://link.jianshu.com?t=http% ... le.com%2Fbpython%2F):界面丰富的 Python 解析器。[官网](https://link.jianshu.com?t=http% ... -interpreter.org%2F)
*   ptpython:高级交互式Python解析器, 构建于[python-prompt-toolkit](https://link.jianshu.com?t=https ... thon-prompt-toolkit) 之上。[官网](https://link.jianshu.com?t=https ... slenders%2Fptpython)
### 文件
文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。
*   imghdr:(Python 标准库)检测图片类型。[官网](https://link.jianshu.com?t=https ... brary%2Fimghdr.html)
*   mimetypes:(Python 标准库)将文件名映射为 MIME 类型。[官网](https://link.jianshu.com?t=https ... ry%2Fmimetypes.html)
*   path.py:对 os.path 进行封装的模块。[官网](https://link.jianshu.com?t=https ... %2Fjaraco%2Fpath.py)
*   pathlib:(Python3.4+ 标准库)跨平台的、面向对象的路径操作库。[官网](https://link.jianshu.com?t=https ... rg%2Fen%2Fpep428%2F)
*   python-magic:文件类型检测的第三方库 libmagic 的 Python 接口。[官网](https://link.jianshu.com?t=https ... hupp%2Fpython-magic)
*   Unipath:用面向对象的方式操作文件和目录。[官网](https://link.jianshu.com?t=https ... 2Fmikeorr%2FUnipath)
*   watchdog:管理文件系统事件的 API 和 shell 工具[官网](https://link.jianshu.com?t=https ... khargosh%2Fwatchdog)
### 日期和时间
操作日期和时间的类库。
*   arrow:更好的 Python 日期时间操作类库。[官网](https://link.jianshu.com?t=https ... Fcrsmithdev%2Farrow)
*   Chronyk:Python 3 的类库,用于解析手写格式的时间和日期。[官网](https://link.jianshu.com?t=https ... einFlummi%2FChronyk)
*   dateutil:Python datetime 模块的扩展。[官网](https://link.jianshu.com?t=https ... i%2Fpython-dateutil)
*   delorean:解决 Python 中有关日期处理的棘手问题的库。[官网](https://link.jianshu.com?t=https ... usuf3%2Fdelorean%2F)
*   moment:一个用来处理时间和日期的Python库。灵感来自于Moment.js。[官网](https://link.jianshu.com?t=https ... 2Fzachwill%2Fmoment)
*   PyTime:一个简单易用的Python模块,用于通过字符串来操作日期/时间。[官网](https://link.jianshu.com?t=https ... m%2Fshinux%2FPyTime)
*   pytz:现代以及历史版本的世界时区定义。将时区数据库引入Python。[官网](https://link.jianshu.com?t=https%3A%2F%2Flaunchpad.net%2Fpytz)
*   when.py:提供用户友好的函数来帮助用户进行常用的日期和时间操作。[官网](https://link.jianshu.com?t=https ... om%2Fdirn%2FWhen.py)
### 文本处理
用于解析和操作文本的库。
*   通用
*   [chardet](https://link.jianshu.com?t=http% ... le.com%2Fchardet%2F):字符编码检测器,兼容 Python2 和 Python3。[官网](https://link.jianshu.com?t=https ... 2Fchardet%2Fchardet)
*   difflib:(Python 标准库)帮助我们进行差异化比较。[官网](https://link.jianshu.com?t=https ... rary%2Fdifflib.html)
*   ftfy:让Unicode文本更完整更连贯。[官网](https://link.jianshu.com?t=https ... sight%2Fpython-ftfy)
*   fuzzywuzzy:模糊字符串匹配。[官网](https://link.jianshu.com?t=https ... atgeek%2Ffuzzywuzzy)
*   Levenshtein:快速计算编辑距离以及字符串的相似度。[官网](https://link.jianshu.com?t=https ... thon-Levenshtein%2F)
*   pangu.py:在中日韩语字符和数字字母之间添加空格。[官网](https://link.jianshu.com?t=https ... %2Fvinta%2Fpangu.py)
*   yfiglet-figlet:[pyfiglet -figlet](https://link.jianshu.com?t=https ... Fpwaller%2Fpyfiglet) 的 Python实现。
*   shortuuid:一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。[官网](https://link.jianshu.com?t=https ... ologies%2Fshortuuid)
*   unidecode:Unicode 文本的 ASCII 转换形式 。[官网](https://link.jianshu.com?t=https ... %2Fpypi%2FUnidecode)
*   uniout:打印可读的字符,而不是转义的字符串。[官网](https://link.jianshu.com?t=https ... %2Fmoskytw%2Funiout)
*   xpinyin:一个用于把汉字转换为拼音的库。[官网](https://link.jianshu.com?t=https ... %2Flxneng%2Fxpinyin)
*   simplejson:Python的JSON编码、解码器。[官网](https://link.jianshu.com?t=https ... io%2Fen%2Flatest%2F)、[GitHub](https://link.jianshu.com?t=https ... lejson%2Fsimplejson)
*   Slug化
*   awesome-slugify:一个 Python slug 化库,可以保持 Unicode。[官网](https://link.jianshu.com?t=https ... 5%2Fawesome-slugify)
*   python-slugify:Python slug 化库,可以把 unicode 转化为 ASCII。[官网](https://link.jianshu.com?t=https ... 3k%2Fpython-slugify)
*   unicode-slugify:一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。[官网](https://link.jianshu.com?t=https ... a%2Funicode-slugify)
*   解析器
*   phonenumbers:解析,格式化,储存,验证电话号码。[官网](https://link.jianshu.com?t=https ... python-phonenumbers)
*   PLY:lex 和 yacc 解析工具的 Python 实现。[官网](https://link.jianshu.com?t=http%3A%2F%2Fwww.dabeaz.com%2Fply%2F)
*   Pygments:通用语法高亮工具。[官网](https://link.jianshu.com?t=http%3A%2F%2Fpygments.org%2F)
*   pyparsing:生成通用解析器的框架。[官网](https://link.jianshu.com?t=http% ... g.wikispaces.com%2F)
*   python-nameparser:把一个人名分解为几个独立的部分。[官网](https://link.jianshu.com?t=https ... 2Fpython-nameparser)
*   python-user-agents:浏览器 user agent 解析器。[官网](https://link.jianshu.com?t=https ... Fpython-user-agents)
*   sqlparse:一个无验证的 SQL 解析器。[官网](https://link.jianshu.com?t=https ... rg%2Fen%2Flatest%2F)
### 特殊文本格式处理
一些用来解析和操作特殊文本格式的库。
*   通用
*   tablib:一个用来处理中表格数据的模块。[官网](https://link.jianshu.com?t=https ... nnethreitz%2Ftablib)
*   Office
*   Marmir:把输入的Python 数据结构转换为电子表单。[官网](https://link.jianshu.com?t=https ... com%2Fbrianray%2Fmm)
*   openpyxl:一个用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。[官网](https://link.jianshu.com?t=https ... rg%2Fen%2Flatest%2F)
*   python-docx:读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。[官网](https://link.jianshu.com?t=https ... enxml%2Fpython-docx)
*   unoconv:在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。[官网](https://link.jianshu.com?t=https ... dagwieers%2Funoconv)
*   XlsxWriter:一个用于创建 Excel .xlsx 文件的 Python 模块。[官网](https://link.jianshu.com?t=https ... rg%2Fen%2Flatest%2F)
*   xlwings:一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。[官网](https://link.jianshu.com?t=http%3A%2F%2Fxlwings.org%2F)
*   [xlwt](https://link.jianshu.com?t=http%3A%2F%2Fhao.jobbole.com%2Fxlwt%2F):读写 Excel 文件的数据和格式信息。[官网](https://link.jianshu.com?t=https ... python-excel%2Fxlwt) / [xlrd](https://link.jianshu.com?t=https ... python-excel%2Fxlrd)
*   relatorio:模板化OpenDocument 文件。[官网](https://link.jianshu.com?t=http%3A%2F%2Frelatorio.tryton.org%2F)
*   PDF
*   PDFMiner:一个用于从PDF文档中抽取信息的工具。[官网](https://link.jianshu.com?t=https ... %2Feuske%2Fpdfminer)
*   PyPDF2:一个可以分割,合并和转换 PDF 页面的库。[官网](https://link.jianshu.com?t=https ... %2Fmstamy2%2FPyPDF2)
*   ReportLab:快速创建富文本 PDF 文档。[官网](https://link.jianshu.com?t=http% ... com%2Fopensource%2F)
*   Markdown
*   Mistune:快速并且功能齐全的纯 Python 实现的 Markdown 解析器。[官网](https://link.jianshu.com?t=https ... 2Flepture%2Fmistune)
*   Python-Markdown:John Gruber’s Markdown 的 Python 版实现。[官网](https://link.jianshu.com?t=https ... n%2FPython-Markdown)
*   Python-Markdiwn2:纯 Python 实现的 Markdown 解析器,比 Python-Markdown 更快,更准确,可扩展。[官网](https://link.jianshu.com?t=https ... %2Fpython-markdown2)
*   YAML
*   PyYAML:Python 版本的 YAML 解析器。[官网](https://link.jianshu.com?t=http%3A%2F%2Fpyyaml.org%2F)
*   CSV
*   csvkit:用于转换和操作 CSV 的工具。[官网](https://link.jianshu.com?t=https ... ireservice%2Fcsvkit)
*   Archive
*   unp:一个用来方便解包归档文件的命令行工具。[官网](https://link.jianshu.com?t=https ... m%2Fmitsuhiko%2Funp)
### 自然语言处理
用来处理人类语言的库。
*   [NLTK](https://link.jianshu.com?t=http%3A%2F%2Fhao.jobbole.com%2Fnltk%2F):一个先进的平台,用以构建处理人类语言数据的 Python 程序。[官网](https://link.jianshu.com?t=http%3A%2F%2Fwww.nltk.org%2F)
*   jieba:中文分词工具。[官网](https://link.jianshu.com?t=https ... com%2Ffxsjy%2Fjieba)
*   langid.py:独立的语言识别系统。[官网](https://link.jianshu.com?t=https ... Fsaffsd%2Flangid.py)
*   Pattern:Python 网络信息挖掘模块。[官网](https://link.jianshu.com?t=http% ... .ua.ac.be%2Fpattern)
*   SnowNLP:一个用来处理中文文本的库。[官网](https://link.jianshu.com?t=https ... 2Fisnowfy%2Fsnownlp)
*   TextBlob:为进行普通自然语言处理任务提供一致的 API。[官网](https://link.jianshu.com?t=http% ... rg%2Fen%2Flatest%2F)
*   TextGrocery:一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。[官网](https://link.jianshu.com?t=https ... 2shou%2FTextGrocery)
### 文档
用以生成项目文档的库。
*   [Sphinx](https://link.jianshu.com?t=http% ... ole.com%2Fsphinx%2F):Python 文档生成器。[官网](https://link.jianshu.com?t=http% ... rg%2Fen%2Flatest%2F)
*   awesome-sphinxdoc:[官网](https://link.jianshu.com?t=https ... 2Fawesome-sphinxdoc)
*   MkDocs:对 Markdown 友好的文档生成器。[官网](https://link.jianshu.com?t=http%3A%2F%2Fwww.mkdocs.org%2F)
*   pdoc:一个可以替换Epydoc 的库,可以自动生成 Python 库的 API 文档。[官网](https://link.jianshu.com?t=https ... 2FBurntSushi%2Fpdoc)
*   Pycco:文学编程(literate-programming)风格的文档生成器。[官网](https://link.jianshu.com?t=https ... Fpycco-docs%2Fpycco)
### 配置
用来保存和解析配置的库。
*   config:[logging](https://link.jianshu.com?t=https ... rary%2Flogging.html) 模块作者写的分级配置模块。[官网](https://link.jianshu.com?t=https ... com%2Fconfig-doc%2F)
*   ConfigObj:INI 文件解析器,带验证功能。[官网](https://link.jianshu.com?t=http% ... on%2Fconfigobj.html)
*   ConfigParser:(Python 标准库) INI 文件解析器。[官网](https://link.jianshu.com?t=https ... 2Fconfigparser.html)
*   profig:通过多种格式进行配置,具有数值转换功能。[官网](https://link.jianshu.com?t=http% ... g%2Fen%2Fdefault%2F)
*   python-decouple:将设置和代码完全隔离。[官网](https://link.jianshu.com?t=https ... s%2Fpython-decouple)
### 命令行工具
用于创建命令行程序的库。
*   命令行程序开发
*   asciimatics:跨平台,全屏终端包(即鼠标/键盘输入和彩色,定位文本输出),完整的复杂动画和特殊效果的高级API。[官网](https://link.jianshu.com?t=https ... ttain%2Fasciimatics)
*   cement:Python 的命令行程序框架。[官网](https://link.jianshu.com?t=http%3A%2F%2Fbuiltoncement.com%2F)
*   click:一个通过组合的方式来创建精美命令行界面的包。[官网](https://link.jianshu.com?t=http%3A%2F%2Fclick.pocoo.org%2Fdev%2F)
*   cliff:一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。[官网](https://link.jianshu.com?t=http% ... eveloper%2Fcliff%2F)
*   clint:Python 命令行程序工具。[官网](https://link.jianshu.com?t=https ... ennethreitz%2Fclint)
*   colorama:跨平台彩色终端文本。[官网](https://link.jianshu.com?t=https ... g%2Fpypi%2Fcolorama)
*   docopt:Python 风格的命令行参数解析器。[官网](https://link.jianshu.com?t=http%3A%2F%2Fdocopt.org%2F)
*   Gooey:一条命令,将命令行程序变成一个 GUI 程序。[官网](https://link.jianshu.com?t=https ... Fchriskiehl%2FGooey)
*   python-prompt-toolkit:一个用于构建强大的交互式命令行程序的库。[官网](https://link.jianshu.com?t=https ... thon-prompt-toolkit)
*   [Pythonpy](https://link.jianshu.com?t=http% ... e.com%2Fpythonpy%2F):在命令行中直接执行任何Python指令。[官网](https://link.jianshu.com?t=https ... 1%2Fpythonpy%2Fwiki)
*   生产力工具
*   aws-cli:Amazon Web Services 的通用命令行界面。[官网](https://link.jianshu.com?t=https ... com%2Faws%2Faws-cli)
*   bashplotlib:在终端中进行基本绘图。[官网](https://link.jianshu.com?t=https ... glamp%2Fbashplotlib)
*   caniusepython3:判断是哪个项目妨碍你你移植到 Python 3。[官网](https://link.jianshu.com?t=https ... on%2Fcaniusepython3)
*   cookiecutter:从 cookiecutters(项目模板)创建项目的一个命令行工具。[官网](https://link.jianshu.com?t=https ... reyr%2Fcookiecutter)
*   doitlive:一个用来在终端中进行现场演示的工具。[官网](https://link.jianshu.com?t=https ... 2Fsloria%2Fdoitlive)
*   howdoi:通过命令行获取即时的编程问题解答。[官网](https://link.jianshu.com?t=https ... m%2Fgleitz%2Fhowdoi)
*   httpie:一个命令行HTTP 客户端,cURL 的替代品,易用性更好。[官网](https://link.jianshu.com?t=https ... m%2Fjkbrzt%2Fhttpie)
*   PathPicker:从bash输出中选出文件。[官网](https://link.jianshu.com?t=https ... cebook%2FPathPicker)
*   percol:向UNIX shell 传统管道概念中加入交互式选择功能。[官网](https://link.jianshu.com?t=https ... com%2Fmooz%2Fpercol)
*   SAWS:一个加强版的 AWS 命令行。[官网](https://link.jianshu.com?t=https ... Fdonnemartin%2Fsaws)
*   thefuck:修正你之前的命令行指令。[官网](https://link.jianshu.com?t=https ... om%2Fnvbn%2Fthefuck)
*   mycli:一个 MySQL 命令行客户端,具有自动补全和语法高亮功能。[官网](https://link.jianshu.com?t=https ... com%2Fdbcli%2Fmycli)
*   pgcli:Postgres 命令行工具,具有自动补全和语法高亮功能。[官网](https://link.jianshu.com?t=https ... com%2Fdbcli%2Fpgcli)
*   try:一个从来没有更简单的命令行工具,用来试用python库。[官网](https://link.jianshu.com?t=https ... %2Ftimofurrer%2Ftry)



作者:aimaile
链接:https://www.jianshu.com/p/a166e63544d8
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2