推荐一些实用的的 Python 库

一门语言好用、方便的程度在很多时候会取决于这门语言相关的库够不够丰富,Python 之所以火爆除了其本身的语法和特性之外,还在一定程度上取决于其有太多太多库的支持,不论是官方维护的还是第三方开发的。就比如说做机器学习为什么很多人都用 Python,一个非常大的因素就是 TensorFlow 和 PyTorch 对 Python 的支持。当然在这里并不是说 Python 的库真的就全的不要不要的,它在某些领域或者项目的生态还是有待完善的。

正好昨天刷到知乎一个问题「你见过哪些相见恨晚的 Python 库?」,其意就是想了解下有哪些非常好用的提高生产力的 Python 库。一些回答直接把 awesome-python 贴过来,点赞非常多,当然多归多,但是里面很多都是些过期的或者其实没太有什么价值的库,反而会增加了挑选库的成本。我大体上把一些回答过了一遍,另外结合自己平时了解的内容,稍微对一些基础生产力库做了简单的梳理,在这里分享给大家。

所以这里就不再针对于一些特殊的场景推荐了,如一些 Web开发库、网络请求库、数据操作库、数据分析库、机器分析库等等。下面主要罗列一些适用范围和方向较广,对于一些基础设施的建设比较有用,能在多数场景下提高 Python 生产力的库,描述比较简单,主要是提供一个列表,仅供参考哈。

attrs、cattrs

GitHub:https://github.com/python-attrs/attrs、https://github.com/Tinche/cattrs

简化类的定义、序列化反序列化等操作。

个人写的简介:https://mp.weixin.qq.com/s/oHK-Y4lOeaQCFtDWgqXxFA

loguru

GitHub:https://github.com/Delgan/loguru

可简化日志记录写法。

个人写的简介:https://mp.weixin.qq.com/s/5Ri1WS5cTGCNAQ0I_zYycg

autopep8

GitHub:https://github.com/hhatto/autopep8

把 Python 代码转成符合 PEP8 规范的代码。

psutil

GitHub:https://github.com/giampaolo/psutil

Python 实现任务监控的库。

furl

GitHub:https://github.com/gruns/furl

对 url 的处理非常方便,比 urllib 等库好用多。

retrying、tenacity

GitHub:https://github.com/rholder/retrying、https://github.com/jd/tenacity

异常重试库,如出错之后重试多少次,尤其在发起一些 HTTP 请求时非常有用,当然也能用于其他地方。

typing

Docs:https://docs.python.org/zh-cn/3/library/typing.html#module-typing

对 Python 类型的支持,支持多种类型、嵌套类型,也推荐多多使用 Python 的类型注解。

argparse

Docs:https://docs.python.org/zh-cn/3/library/argparse.html

个人曾经使用过几个命令行解析工具,如 docopt,但后来还是转回来了 argparse,功能齐全强大。

absl-py

GitHub:https://github.com/abseil/abseil-py

个人感觉比 argparse 更易用的库,如 TensorFlow 就在使用这个,对于定义一些 Flag 非常方便。

pipenv

GitHub:https://github.com/pypa/pipenv

功能更全的包管理工具,集成虚拟环境、支持 Lock 机制锁定安装包版本和依赖信息。当然也有坑点,可自行搜索。

drf

Docs:https://www.django-rest-framework.org/

基于 Django 的 REST Framework,快速实现 REST API。

watchdog

GitHub:https://github.com/gorakhargosh/watchdog

方便监视文件系统改动。

glob

Docs:https://docs.python.org/3/library/glob.html

对文件的操作非常方便。

2to3

Docs:https://docs.python.org/2/library/2to3.html

把 Python2 代码转成 Python3 代码。

glom

GitHub:https://github.com/mahmoud/glom

对 JSON 嵌套的处理非常方便。

pathlib

Docs:https://docs.python.org/3/library/pathlib.html

更为方便的 Python 路径操作库。

environs

GitHub:https://github.com/sloria/environs

对于环境变量的获取非常方便,支持多种类型,如 int、bool 等。

pysnooper

GitHub:https://github.com/cool-RR/PySnooper

非常方便简单的 Python 调试器,可以追踪到代码每一处细节的执行状态。

tqdm

GitHub:https://github.com/tqdm/tqdm

进度条控制显示非常方便。

sh

GitHub:https://github.com/amoffat/sh

对 Linux 一些命令的封装,简单好用又高效。

faker

GitHub:https://github.com/joke2k/faker

模拟数据的生成。

个人写的简介:https://mp.weixin.qq.com/s/iLjr95uqgTclxYfWWNxrAA

arrow、dateutil、dateparser、pendulum

GitHub:https://github.com/crsmithdev/arrow、https://github.com/dateutil/dateutil、https://github.com/scrapinghub/dateparser、https://github.com/sdispater/pendulum

时间解析和处理库,非常方便。arrow 目前 Star 最多,好评最多。

yagmail

GitHub:https://github.com/kootenpv/yagmail

方便的发邮件库,替代自带的 smtplib。

chardet

GitHub:https://github.com/chardet/chardet

字符串类型编码检测。

pypinyin

GitHub:https://github.com/mozillazg/python-pinyin

汉字转拼音,在一些中文转化处理上很有用。

个人写的简介:https://mp.weixin.qq.com/s/NvA3j8Ns1-6CFgWpUcWwQw

sphinx

Docs:https://www.sphinx-doc.org/en/master/

编写文档使用,大多数 Python 库文档都是这个写的,如 Scrapy、requests。

个人 sphinx + markdown 的样例:https://github.com/Gerapy/Docs

jinja2

GitHub:https://github.com/pallets/jinja

一个方便的模板引擎,呈现页面时很方便。

click

GitHub:https://github.com/pallets/click

更方便灵活地实现命令行传递参数。

ray

GitHub:https://github.com/ray-project/ray

分布式多进程管理。

supervisor

GitHub:https://github.com/Supervisor/supervisor

进程管理工具,如实现多任务后台运行,Docker 打包时会经常用到。

apscheduler

GitHub:https://github.com/agronholm/apscheduler

Python 定时任务,不过 K8S 也可以实现,个人目前可能更倾向于 K8S。

intelpython

Home:https://software.intel.com/en-us/distribution-for-python

这不是 Python 库,是一个 Intel 开发的基于 Intel 处理器优化的 Python 解释器,对于大规模运算提升很大。

先推荐这么多了,后面还会慢慢积累,大家可以了解下,有不少库还是能极大提高生产力的。

由于这次主要是推荐一些适用范围和方向较广,个人感觉对于一些基础设施的建设比较有用的库,所以一些 Web、爬虫、数据分析、机器学习等库就没有列在这里了。当然也由于个人水平有限,也有很多库没有列全,如果大家有推荐的,欢迎留言分享哈!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python是目前最为流行的编程语言之一,有着广泛的应用领域,其充分利用的特性,整合了大量的实用工具,开发者能够更快更高效地进行开发。因此,有很多Python大全网站提供了广大Python开发者一个面向世界各地的平台,以分享各类Python的经验和功能,同时,也让开发者更容易发现和使用更加优秀的Python。 这些Python大全网站提供了Python的分类、列表、详情和介绍,其中许多还包括了开源的项目。同时,这些网站也提供了评论和评价功能,以帮助其他用户更好地了解的质量和特性。开发者可以在这些网站上发现新的Python,了解使用场景,以及发现其他用户的使用情况和意见。 一些比较著名的Python大全网站包括:GitHub、PyPI、Awesome PythonPython月报等。这些网站大多数量众多使用者和贡献者,能够为开发者提供丰富的资源和实用的工具,极大地降低开发者的开发难度和成本。通过利用这些Python大全网站,开发者可以更快地找到合适的并将其应用到实际项目中。 ### 回答2: Python大全网站是一种收集众多Python开源的在线资源,它致力于提供Python开发者们便捷的查询和下载服务。Python大全网站内部涵盖了数千种最优秀的Python第三方,涵盖了各种领域,如机器学习、数据处理、网络编程,爬虫等,几乎囊括了Python领域中所有重要的Python大全网站不仅方便Python开发者们对开源的查询和下载,同时也对进行了多方面的分类和评级,以辅助用户们更快速的找到适合自己需求的Python大全网站还提供了对于Python的验证、排名等功能,帮助开发者们更好的评估这些的适用性和代码质量。 总之,Python大全网站是一种非常实用和重要的在线资源,它可以帮助Python开发者们更加方便的查找、评估和下载适合自己需求的Python第三方,节省了开发者们在寻找和处理时所需的时间和精力,是所有Python开发者不可或缺的在线工具之一。 ### 回答3: Python是一种广泛使用的编程语言,它有许多优秀的内置和第三方,这些大大简化了Python编程过程,让开发人员更加高效地完成各种任务。如果你正在寻找Python大全网站,那么Python Package Index(PyPI)​​是一个不错的选择。 PyPI是一个Python软件包,在PyPI上,你可以找到大量第三方PythonPython工具以及各类Python软件包。使用PyPI,你可以快速搜索和下载Python软件包和,它还提供版本管理和依赖管理等功能,方便你在项目中引用所需的依赖和版本。 在PyPI上找到所需的后,你可以使用pip工具(一种Python包管理工具)快速安装,同时pip也支持从PyPI中卸载Python包。pip工具是Python的标准之一,可以在Python环境下直接使用。 当然,PyPI并不是唯一的Python大全网站。GitHub上也有大量的Python,您可以找到许多流行的Python和工具,GitHub还包括一些非常有用的Python项目和代码片段,您可以学习和使用。同时,很多Python的数据科学和机器学习的小伙伴也比较喜欢使用anaconda作为数据环境。总之,希望你可以找到适合你的Python大全,以便更好的提升Python技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值