sh
sh 是一个成熟,用于替代 subprocess,它允许你调用任何程序,就像它是一个函数,支持 Python2.6 - 3.5
1 | from sh import ifconfig |
mycli
mycli
是一个带语法高亮、自动补全的 MySQL 命令行客户端工具。例如,连接数据库方法:
1 | mycli -h localhost -u 用户名 数据库 |
python-fire
Fire 是 Google 开源的 Python 库,可自动将您的代码转变成 CLI,无需您做任何额外工作。您不必定义参数,设置帮助信息,或者编写定义代码运行方式的 main 函数。相反,您只需从 main 模块调用“Fire”函数,其余工作全部交由 Python Fire 来完成。示例代码如下:
1 |
|
1 | 在终端中调用效果如下: |
pdir2
Python 程序员需要一个更好的 dir() —— 以更加友好的显示 dir() 输出的结果
freezegun
时间漫步模块,模拟到某一个时间,使用简单方式多样,实现了装饰器、上下文等调用方式。示例代码如下:
1 | from freezegun import freeze_time |
records
Kenneth Reitz 大神的for Humans™系列,Records 是一个支持大多数主流关系数据库的原生 SQL 查询第三方库。API 友好,使用简单、支持命令行模式、功能多样。与此同时该库只有 500 行代码,可以当作入门阅读源码的项目,同时学习大神的编程技巧与习惯,示例代码如下:
pygorithm
一个帮助学习主要算法的库,可以通过理解这些算法的实现,提高自己的算法水平
huey
结合 redis 实现的轻量任务队列,但是支持功能还是很多的:
- 多进程、多线程、协程
- 任务定时执行
- 任务执行失败重试
- 结果存储
joblib
使用 Python 方便的进行并行计算,示例代码如下:
1 | from joblib import Parallel, delayed |
thefuck
在 Linux 命令行中,当你输入的命令有错误后,直接输入 fuck 就可以自动执行修复后的命令
pook
模拟 HTTP 请求结果的库,可用于单元测试等场景。采用装饰器方式调用的示例代码如下:
1 |
|
tenacity
使用该库可以优雅地实现各种需求的重试。示例代码如下:
1 | from tenacity import retry, stop_after_attempt |
pudb
基于控制台的全屏 Python 可视化调试器。比 pdb 好用太多了,特性:
- 源码语法高亮,栈、断点、变量可见并且一直动态更新。变量展示还有很多可以定制化的功能。
- 基于键盘,简单高效。支持 VI 的鼠标移动。还支持 PDB 的某些命令
- 支持查找源代码,可以使用 m 代用 module browser 查看载入的模块
- 断点设置。鼠标移到某行代码,按 b,然后可以在断点窗口编辑断点
loguru
一个让 Python 记录日志变得简单的库
click
Python 的第三方库,用于快速创建命令行。支持装饰器方式调用、多种参数类型、自动生成帮助信息等。示例代码如下:
1 | import click |
1 |
|
pyright
微软出品的 Python 静态类型检查工具。执行速度快,适合大型 Python 项目,引用一句话:动态语言一时爽,重构火葬场
PySnooper
Python 的第三方调试库。让你通过装饰器方法,方便的知道每一行程序运行后的结果,而不需要再手动增加 print 展示过程数据、调试程序。示例代码:
1 | import pysnooper |
1 | 输出如下 |
装饰器妙用
1 | import datetime |
arrow
还在为处理时间、时区、转化、夏令时等问题而头疼吗?这个 Python 的第三方时间库。提供了更便捷的方式来创建、操作和格式化时间和日期,用更少的代码来处理时间和日期