挑了100多个库,都是每个领域的的精品库,看完之后,别惊掉下巴,这么多库我都没有见过~
1、Python大厦的底层基建
环境管理
管理 Python 版本和环境的工具
p:非常简单的交互式 python 版本管理工具。
pyenv:简单的 Python 版本管理工具。
Vex:可以在虚拟环境中执行命令。
virtualenv:创建独立 Python 环境的工具。
buildout:在隔离环境初始化后使用声明性配置管理。
包管理
管理包和依赖的工具。
pip:Python 包和依赖关系管理工具。
pip-tools:保证 Python 包依赖关系更新的一组工具。
pipenv:Python 官方推荐的新一代包管理工具。
poetry: 可完全取代 setup.py 的包管理工具。
conda:跨平台,Python 二进制包管理工具。
Curdling:管理 Python 包的命令行工具。
wheel:Python 分发的新标准,意在取代 eggs。
分发
打包为可执行文件以便分发。
PyInstaller:将 Python 程序转换成独立的执行文件(跨平台)。
cx_Freeze:将python程序转换为带有一个动态链接库的可执行文件。
dh-virtualenv:构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。
Nuitka:将脚本、模块、包编译成可执行文件或扩展模块。
py2app:将 Python 脚本变为独立软件包(Mac OS X)。
py2exe:将 Python 脚本变为独立软件包(Windows)。
pynsist:一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python 本身。
配置
用来保存和解析配置的库。
config:logging 模块作者写的分级配置模块。
ConfigObj:INI 文件解析器,带验证功能。
ConfigParser:(Python 标准库) INI 文件解析器。
profig:通过多种格式进行配置,具有数值转换功能。
python-decouple:将设置和代码完全隔离。
2、Python大厦的管理配置
文件
aiofiles:基于 asyncio,提供文件异步操作
imghdr:(Python 标准库)检测图片类型
mimetypes:(Python 标准库)将文件名映射为 MIME 类型
path.py:对 os.path 进行封装的模块
pathlib:(Python3.4+ 标准库)跨平台的、面向对象的路径操作库
python-magic:文件类型检测的第三方库 libmagic 的 Python 接口
Unipath:用面向对象的方式操作文件和目录
watchdog:管理文件系统事件的 API 和 shell 工具
日期和时间
操作日期和时间的类库。
arrow:更好的 Python 日期时间操作类库。
Chronyk:Python 3 的类库,用于解析手写格式的时间和日期。
dateutil:Python datetime 模块的扩展。
delorean:解决 Python 中有关日期处理的棘手问题的库。
maya:人性化的时间处理库。
moment:一个用来处理时间和日期的 Python 库。灵感来自于 Moment.js。
pendulum:一个比 arrow 更具有明确的,可预测的行为的时间操作库。
PyTime:一个简单易用的 Python 模块,用于通过字符串来操作日期/时间。
pytz:现代以及历史版本的世界时区定义。将时区数据库引入 Python。
when.py:提供用户友好的函数来帮助用户进行常用的日期和时间操作。
文本处理
用于解析和操作文本的库。
- 通用
chardet:字符编码检测器,兼容 Python2 和 Python3。
difflib:(Python 标准库)帮助我们进行差异化比较。
ftfy:让 Unicode 文本更完整更连贯。
fuzzywuzzy:模糊字符串匹配。
Levenshtein:快速计算编辑距离以及字符串的相似度。
pangu.py:在中日韩语字符和数字字母之间添加空格。
pypinyin:汉字拼音转换工具 Python 版。
shortuuid:一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。
simplejson:Python 的 JSON 编码、解码器。
unidecode:Unicode 文本的 ASCII 转换形式 。
uniout:打印可读的字符,而不是转义的字符串。
xpinyin:一个用于把汉字转换为拼音的库。
yfiglet-figlet:pyfiglet -figlet 的 Python 实现。
flashtext: 一个高效的文本查找替换库。
- Slug 化
awesome-slugify:一个 Python slug 化库,可以保持 Unicode。