PyHubWeekly | 第三期:有了这款Python小工具,再也不用担心复杂Linux命令
点击蓝字关注我
这是一款谷歌开发的命令行工具,这是一款替代curl的绝佳http工具,这是一款让Linux命令不再成为瓶颈的工具,下面就开始介绍本期的5款GitHub优质Python项目/小工具。
—▼—
PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具,本期为大家推荐GitHub上5个优质的Python项目,它们分别是:
1. explainshell
2. httpie
3. glances
4. python-fire
5. aiLearnNotes
下面分别来介绍一下上述5个GitHub项目。
Star:7.5k
链接:https://github.com/idank/explainshell
作为IT/互联网相关的工作人员,哪怕不是开发者,也有可能会和Linux打交道,我们可以用Linux进行开发、运维等,因此,Linux就成为了一项非常重要的个人技能。
使用Linux过程中主要打交道的对象就是繁多的Linux命令和选项(options)就成了令人头疼的事情,举一个最为简单的例子,
> ls -al
这个Linux命令包含两个部分,command
和options
,ls是查看命令,-a
和-l
分别代表:显示所有文件(包括以.开头的隐藏文件)、以列表形式显示。
这些常用的我们都知道,但是有很多使用频率较少的怎么办?我们可以借助explainshell。
它是一款利用Python开发的Linux命令行工具,通过解析帮助文档,逐个匹配一行Linux命令中不同字符的含义,让你对Linux命令能够一目了然,是一款非常棒的Linux学习工具。
Star:45.5k
链接:https://github.com/jakubroztocil/httpie
不同组件之间相互访问可以通过很多方式,其中restful是比较常用的一种。这里就涉及http请求,我们需要测试数据能够正确的上传和下载。在处理http请求过程中使用较多的工具就是curl。
curl有很多明显的弊端:对用户不够友好,命令冗长;可视化效果差,没有高亮。httpie就是curl的一个非常好的替代者,它的使用更加简洁明了,而且能够高亮显示请求结果。
Star:14.9k
链接:https://github.com/nicolargo/glances
glances就如同它的汉语意思那样,“一眼”、“一瞥”,能够通过一个简单的命令对系统信息一目了然,了如指掌。
glances利用Python编写的一个跨平台的监视工具,旨在通过curses或基于Web的界面提供大量监视信息。
你不仅可以通过终端命令行使用该工具,还可以web界面、API接口等对服务器进行远程监控,可以将统计信息导出到文件或数据库。
Star:16.1k
链接:https://github.com/google/python-fire
python-fire是一个款python命令行接口(CLI),仅仅凭它的来历就值得关注一下,它是由谷歌开源的一款python工具包。
我们在开发项目时往往会需要从命令行传入参数,以往常用的有sys、argparse等,既然有一些成熟的命令行工具,为什么还要推荐python-fire呢?
因为它有如下优势:
实现接口更加简洁
创建CLI接口更加简单
能够将现有代码转化为接口
它使得bash和python之间的转换更加容易
示例,
import fire
class Calculator(object):
"""A simple calculator class."""
def double(self, number):
return 2 * number
if __name__ == '__main__':
fire.Fire(Calculator)
接下来,我们可以在命令行下调用对应的接口,也可以通过参数名称直接传参,
> python calculator.py double 10 # 20
> python calculator.py double --number=15 # 30
Star:96
链接:https://github.com/Jackpopc/aiLearnNotes
这是我自己在GitHub托管的项目,和上述优质的GitHub项目一起介绍有一些格格不入,也有一些自卖自夸,但是,我还是希望借此机会推荐一下这个项目。
这个项目围绕AI领域的一些方向展开,目前包含计算机视觉系列,后续会加入机器学习、强化学习、优化算法等系列内容。
该项目的核心关注点是“动手学习”,也就是说不仅仅局限于理论知识,也会去利用Python动手实现相应的算法,在实现的过程中会对算法的思想具有更加深入的理解。
以耗时近一年、已经完结的计算机时间为例,里面会有文档逐步介绍算法的思想,然后在利用Python逐步实现,再次进行巩固。此外,项目中不再千篇一律的局限于深度学习,而是从数字图像处理开始介绍,关注到像素级的知识,然后在此基础上介绍传统的图像处理、目标识别算法,然后循序渐进的引入深度学习知识,这样对计算机时间会有更深、更广泛的认识。
▲
END
长按扫码可关注
往期精彩回顾
PyHubWeekly | 第二期:GitHub上优质的Python项目