Python

Python开发

Python语言

推荐一些实用的的 Python 库

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

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

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

attrs、cattrs

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

loguru

可简化日志记录写法。

autopep8

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

psutil

Python 实现任务监控的库。

furl

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

retrying、tenacity

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

typing

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

argparse

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

absl-py

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

pipenv

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

drf

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

watchdog

方便监视文件系统改动。

glob

对文件的操作非常方便。

2to3

把 Python2 代码转成 Python3 代码。

glom

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

pathlib

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

environs

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

pysnooper

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

tqdm

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

sh

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

faker

模拟数据的生成。

arrow、dateutil、dateparser、pendulum

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

yagmail

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

chardet

字符串类型编码检测。

pypinyin

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

sphinx

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

jinja2

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

click

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

ray

分布式多进程管理。

supervisor

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

apscheduler

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

intelpython

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

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

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

内容来源于网络,如有侵权请联系客服删除

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

  1. python有趣小项目源码分析_推荐 10 个有趣的 Python 项目

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

  2. python爬虫高级项目管理师培训学校_推荐一条高效的Python爬虫学习路径!

    如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这样的编程语言提供越来越多的优秀工具,让爬虫变得简单.容易上手. 对于小白来说 ...

  3. python中使用什么命令安装组件_在离线环境下安装python组件

    在一些项目中,我们会不可避免地使用到python组件,而生产环境大多数服务器是没有办法直接联网下载python的包的.当然,有的小伙伴会很聪明地把这个包的whl下载下来到服务器上去执行,但是会得到这样 ...

  4. python中接口测试垃圾数据如何清理_一个六年经验的python后端是怎么学习用java写API的(2)Extracter,微信文章抓取清洗入库...

    描述 pirate 是由我的 django 脚手架 original 实现的,文件上传提供了七牛和腾讯云两个 backend,部署提供了默认的配置文件,因此只要关注具体的微信的抓取逻辑即可. 核心表讲 ...

  5. python中控制代码块逻辑关系_一、Python基础知识

    1.1 Python简介 (1)解释型语言 解释型语言在运行程序的时候才逐行翻译.运行. ①优点: 有良好的平台兼容性,在任何环境中都可以运行(安装了解释器)灵活,修改代码的时候直接修改就可以,可以快 ...

  6. 创建二维数组 以及 python中[0 ]* n与[0 for _ in range(n)]的区别与联系

    一.浅拷贝于深拷贝 关于浅拷贝于深拷贝:Python 的深拷贝和浅拷贝 直接赋值:其实就是对象的引用(别名). 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy) ...

  7. python tqdm_推荐一些实用的的 Python 库

    halo,大家好,我是黑里怕,今天给大家分享一些Python库,希望可以给大家带来一些用处! 原作者:崔庆才 原出处:技术博客:静觅 原文链接:推荐一些实用的的 Python 库 一门语言好用.方便的 ...

  8. python数据分析库有哪些餐厅_使用 Python 分析全国所有必胜客餐厅

    作者:极客猴 来源:极客猴 题图:by thefolkpr0ject from Instagram 阅读文本大概需要 7 分钟. 在之前的一篇文章中,我讲到如何爬取必胜客官网中全国各大城市餐厅的信息. ...

  9. python中浮点单精度用什么表示_不方便在numpy中使用单精度浮点

    问题是,当您在一个操作中使用不同的类型时,NumPy会提升这些类型.float32仅当另一个数值操作数的数据类型为:float32或更少 int16或更少 uint16或更少 如果另一个操作数有另一个 ...

最新文章

  1. apache 定义日志格式 及日志记录
  2. 针对谷歌浏览器Chrome的CSS hack
  3. 看几道JQuery试题后总结(下篇)
  4. FLV视频文件格式分析
  5. 前端八大灵感设计,代码变为现实
  6. www.beihua.edu.cn计划摘录
  7. airpods pro连接安卓声音小_airpods pro 麦克风声音小
  8. php 判断下载状态,php下载文件显示进度(适用于CLI模式或长连接)
  9. 程序员修炼之道:从小工到专家pdf
  10. MyEclipse常用插件使用教程
  11. 国内稳定的暗黑2服务器,国内暗黑2战网的基本概念介绍
  12. MATLAB中改变默认工作路径的方法
  13. 打造自己的ip代理池
  14. 初步探索C++深浅拷贝
  15. 神经生物学博士就业前景,神经网络硕士就业前景
  16. 电脑显示网络2连接服务器失败,崩坏学园2连接服务器失败 连接不上网络怎么办...
  17. opencv 通过标定摄像头测量物体大小_解决方案 | 如何用普通手机准确测量物体体积?...
  18. manjaro pacman glibc 2.33 not fount
  19. XStream的分析
  20. Qt 实现的时间轴 Timeline 用于视频非线形编辑工具

热门文章

  1. MySQL+Mybatis
  2. 【NOIP2017提高A组集训10.25】摘Galo (树形dp)
  3. ZigBee数据机房能耗监控系统
  4. 电影资源详细信息爬取
  5. Spring Boot配置文件---约定大于配置
  6. win10打开语言服务器,在 Windows 10 中,部署一个 Go 1.13 语言的本地文档浏览 web 服务器的流程(已缺少 godoc.exe)...
  7. 微信小程序 - [完整源码] 全屏左右菜单联动效果,左侧分类与右侧内容联动,类似美团饿了么的点餐页面 “左边菜单,右边内容“ 效果(开箱即用的示例源码,代码干净整洁且注释详细)
  8. Android SELinux开发入门指南之如何增加Java Binder Service权限
  9. 短视频的地方搞笑配音怎么做?分享一个小技巧,不会方言也能配
  10. 关于将微信小程序部署到云服务器上的具体步骤