Python精选库大全:青少年Python编程学习库总结

Python为啥这么火,这么多人学,就是因为简单好学,功能强大,整个社区非常活跃,资料很多。而且这语言涉及了方方面面,比如自动化测试,运维,爬虫,数据分析,机器学习,金融领域,后端开发,云计算,游戏开发都有涉及。

Python为啥这么火,这么多人学,就是因为简单好学,功能强大,整个社区非常活跃,资料很多。而且这语言涉及了方方面面,比如自动化测试,运维,爬虫,数据分析,机器学习,金融领域,后端开发,云计算,游戏开发都有涉及。

万丈高楼平地起,Python这座大厦能够如此强大,就是拥有强大的成千上万的库的支持,无数牛逼的轮子在支持这座大厦,今天我们来一起梳理一下,俯瞰整个Python宝库。

20220405210941-948.png小编大概列了一下整个Python库的应用的方法面面,粗略算算就有20几个方向。左右两边分两个方向,左边负责进攻(主外),每一项单独拉出来都是精品,都是Python应用里面拳头产品;右边负责守(主内),都是涉及底层的配置,算是整个大厦的地基。

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。

    • python-slugify:Python slug 化库,可以把 unicode 转化为 ASCII。

    • unicode-slugify:一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。

  • 解析器

    • phonenumbers:解析,格式化,储存,验证电话号码。

    • PLY:lex 和 yacc 解析工具的 Python 实现。

    • Pygments:通用语法高亮工具。

    • pyparsing:生成通用解析器的框架。

    • python-nameparser:把一个人名分解为几个独立的部分。

    • python-user-agents:浏览器 user agent 解析器。

    • sqlparse:一个无验证的 SQL 解析器。


办公文本格式处理

  • 通用

    • tablib:一个用来处理中表格数据的模块。

  • Office

    • Marmir:把输入的 Python 数据结构转换为电子表单。

    • openpyxl:一个用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。

    • pyexcel:一个提供统一 API,用来读写,操作 Excel 文件的库。

    • python-docx:读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。

    • relatorio:模板化 OpenDocument 文件。

    • unoconv:在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。

    • XlsxWriter:一个用于创建 Excel .xlsx 文件的 Python 模块。

    • xlwings:一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。

    • xlwt:读写 Excel 文件的数据和格式信息。

  • 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 的工具。


配置

用来保存和解析配置的库。

  • config:logging 模块作者写的分级配置模块。

  • ConfigObj:INI 文件解析器,带验证功能。

  • ConfigParser:(Python 标准库) INI 文件解析器。

  • profig:通过多种格式进行配置,具有数值转换功能。

  • python-decouple:将设置和代码完全隔离。


命令行工具

用于创建命令行程序的库。

  • 命令行程序开发

    • asciimatics:跨平台,全屏终端包(即鼠标/键盘输入和彩色,定位文本输出),完整的复杂动画和特殊效果的高级 API。

    • cement:Python 的命令行程序框架。

    • click:一个通过组合的方式来创建精美命令行界面的包。

    • cliff:一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。

    • clint:Python 命令行程序工具。

    • colorama:跨平台彩色终端文本。

    • docopt:Python 风格的命令行参数解析器。

    • Gooey:一条命令,将命令行程序变成一个 GUI 程序。

    • python-prompt-toolkit:一个用于构建强大的交互式命令行程序的库。

    • python-fire:Google 出品的一个基于 Python 类的构建命令行界面的库。

    • Pythonpy:在命令行中直接执行任何 Python 指令。

  • 生产力工具

    • aws-cli:Amazon Web Services 的通用命令行界面。

    • bashplotlib:在终端中进行基本绘图。

    • caniusepython3:判断是哪个项目妨碍你你移植到 Python3。

    • cookiecutter:从 cookiecutters(项目模板)创建项目的一个命令行工具。

    • doitlive:一个用来在终端中进行现场演示的工具。

    • pyftpdlib:一个速度极快和可扩展的 Python FTP 服务库。

    • howdoi:通过命令行获取即时的编程问题解答。

    • httpie:一个命令行 HTTP 客户端,cURL 的替代品,易用性更好。

    • PathPicker:从 bash 输出中选出文件。

    • percol:向 UNIX shell 传统管道概念中加入交互式选择功能。

    • SAWS:一个加强版的 AWS 命令行。

    • thefuck:修正你之前的命令行指令。

    • mycli:一个 MySQL 命令行客户端,具有自动补全和语法高亮功能。

    • pgcli:Postgres 命令行工具,具有自动补全和语法高亮功能。

    • try:一个从来没有更简单的命令行工具,用来试用 python 库。


    1 条评论

    热门知识

    Python最适合青少儿编程进阶学习的编程语言

    Python精选库大全:青少年Python编程学习库总结