halo,大家好,我是黑里怕,今天给大家分享一些Python库,希望可以给大家带来一些用处!

原作者:崔庆才
原出处:技术博客:静觅
原文链接:推荐一些实用的的 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:把 Python 代码转成符合 PEP8 规范的代码

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

psutil:Python 实现任务监控的库

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

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

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

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

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

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

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

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

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

absl-py

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

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

pipenv

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

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

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

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

watchdog:方便监视文件系统改动

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

glob:对文件的操作非常方便

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

2to3:把 Python2 代码转成 Python3 代码

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

glom:对 JSON 嵌套的处理非常方便

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

pathlib:更为方便的 Python 路径操作库

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

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 :对 Linux 一些命令的封装,简单好用又高效

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

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:方便的发邮件库,替代自带的 smtplib

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

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、爬虫、数据分析、机器学习等库就没有列在这里了。当然也由于个人水平有限,也有很多库没有列全,如果大家有推荐的,欢迎留言分享哈!

python tqdm_推荐一些实用的的 Python 库相关推荐

  1. python中的库有哪些餐厅_推荐一些实用的的 Python 库

    Python Python开发 Python语言 推荐一些实用的的 Python 库 一门语言好用.方便的程度在很多时候会取决于这门语言相关的库够不够丰富,Python 之所以火爆除了其本身的语法和特 ...

  2. 【Python】推荐五个常用的图像处理库

    1. 引言 Python目前是世界上使用最多的编程语言之一.它能够以更少的工作量和更少的代码行数来完成许多事情.它还可以使用很少的代码行来方便地编辑和创建图像. 本文重点介绍,在图像处理领域,我们最常 ...

  3. python界面-推荐8款常用的Python GUI图形界面开发框架

    作为Python开发者,你迟早都会用到图形用户界面来开发应用.本文将推荐一些 Python GUI 框架,希望对你有所帮助,如果你有其他更好的选择,欢迎在评论区留言. Python 的 UI 开发工具 ...

  4. Python入门书籍推荐——《笨办法学Python》

    很多小伙伴在学习Python的道路上,觉得越来越难.今天为小伙伴推荐一本非常适合Python小白的书籍<笨办法学Python>第三版. 在豆瓣有7.8的评分,学习Python的小伙伴千万不 ...

  5. python项目-推荐 10 个有趣的 Python 练手项目

    想成为一个优秀的Python程序员,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后的大开发项目积攒经验,做好准备. 但不少人都在为开发什么项目而苦恼. 因此,我为大 ...

  6. 推荐一些实用的的 Python 库

    一门语言好用.方便的程度在很多时候会取决于这门语言相关的库够不够丰富,Python 之所以火爆除了其本身的语法和特性之外,还在一定程度上取决于其有太多太多库的支持,不论是官方维护的还是第三方开发的.就 ...

  7. 用漫画的形式学习Python,Python好书推荐——《看漫画学Python》

    毫无疑问,Python是目前最热门的编程语言之一.对于很多从未参与过计算机编程的"小白"来说,似乎很难深入掌握Python.其实只要掌握科学的学习方法,制定合理的学习计划,Pyth ...

  8. python和access哪个实用_access和python学哪个

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  9. python电影推荐算法_电影推荐系统python实现

    寒假在家保持写代码不手生,实现了这个小推荐系统. 简介:推荐系统的一种简单实现就是,给定一个用户A,找到所有用户中与A最相似的用户B,把B看过的电影中A没看过的挑出来,再把B评分最高的几部挑出来. 1 ...

最新文章

  1. 联邦学习应用思考:需求还是方法?
  2. [YTU]_2907( 类重载实现矩阵加法)
  3. 移动端总结和手机兼容问题
  4. PMCAFF专访:搜狗effevo,这一次我们想连接“人”
  5. mysql流程控制ifnull,MySQL IFNULL()控制流函数的用途是什么?
  6. Apache24(VC15)安装步骤
  7. 《实用软件工程》复习知识点
  8. switchHosts 介绍
  9. 【ArcGIS教程】土地利用转移矩阵及土地利用数据获取
  10. wps或者word点击打印预览时出现空白页,不显示内容
  11. 稀疏矩阵乘法运算(C语言)
  12. python分组统计excel数据_在python中对数据进行分组并与excel进行比较
  13. 号外号外!兹有第一届区块链技术及应用峰会(BTA)·中国热点议题新鲜出炉,首轮盘点先睹为快...
  14. vi命令下编辑文件时,按insert键文件底部不出现“INSERT”问题
  15. 《迅雷链精品课》第十五课:共识算法的性能问题
  16. 使用UltraISO(软碟通)制作U盘启动盘并安装系统
  17. 计算机考试感受作文,考试后的感受作文(通用10篇)
  18. PowerDesigner生成数据库时报错Reflexive and mandatory reference
  19. 私服服务器原理,传奇私服新手gm如何假设一个属于自己的服务器
  20. Vue项目实战之电商后台管理系统(一) 用户登录模块

热门文章

  1. 把地图中的道路以线条提取出来_入围 ICRA 2019 最佳论文:MIT利用粗粒度地图实现自动驾驶...
  2. 自定义类加载器在复杂类加载情况下的运行分析
  3. 2018华南理工大学程序设计竞赛 H-对称与反对称
  4. 渲染树构建、布局及绘制
  5. IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)...
  6. iOS推送小结--swift语言
  7. 用DateTime.ToString(string format)输出不同格式的日期
  8. 利用IE8开发人员工具调试JavaScript脚本
  9. 如何优化页面的响应速度 以及如何减少项目初次加载时间(转https://www.cnblogs.com/MarcoHan/p/5295398.html)...
  10. Async await 异步编程说明