PyHubWeekly | 第三期:有了这款Python小工具,
微信关注公众号【平凡而诗意】,原创技术文章第一时间推送,QQ学习交流群:1077239487。
本期内容
PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。
我把PyHubWeekly托管到了Github,感兴趣的可以搜索Github项目PyHubWeekly,如果喜欢,麻烦给个Star支持一下吧~
本期为大家推荐GitHub上5个优质的Python项目,它们分别是:
下面分别来介绍一下上述5个GitHub项目。
1. explainshell
Star:7.5k
作为IT/互联网相关的工作人员,哪怕不是开发者,也有可能会和Linux打交道,我们可以用Linux进行开发、运维等,因此,Linux就成为了一项非常重要的个人技能。
使用Linux过程中主要打交道的对象就是繁多的Linux命令和选项(options)就成了令人头疼的事情,举一个最为简单的例子,
> ls -al
这个Linux命令包含两个部分,command和options,ls是查看命令,-a和-l分别代表:显示所有文件(包括以.开头的隐藏文件)、以列表形式显示。
这些常用的我们都知道,但是有很多使用频率较少的怎么办?我们可以借助explainshell。
它是一款利用Python开发的Linux命令行工具,通过解析帮助文档,逐个匹配一行Linux命令中不同字符的含义,让你对Linux命令能够一目了然,是一款非常棒的Linux学习工具。
img2. httpie
Star:45.5k
不同组件之间相互访问可以通过很多方式,其中restful是比较常用的一种。这里就涉及http请求,我们需要测试数据能够正确的上传和下载。在处理http请求过程中使用较多的工具就是curl。
curl有很多明显的弊端:对用户不够友好,命令冗长;可视化效果差,没有高亮。httpie就是curl的一个非常好的替代者,它的使用更加简洁明了,而且能够高亮显示请求结果。
img3. glances
Star:14.9k
glances就如同它的汉语意思那样,“一眼”、“一瞥”,能够通过一个简单的命令对系统信息一目了然,了如指掌。
glances利用Python编写的一个跨平台的监视工具,旨在通过curses或基于Web的界面提供大量监视信息。
img你不仅可以通过终端命令行使用该工具,还可以web界面、API接口等对服务器进行远程监控,可以将统计信息导出到文件或数据库。
4. python-fire
Star:16.1k
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
5. aiLearnNotes
Star:96
这是我自己在GitHub托管的项目,和上述优质的GitHub项目一起介绍有一些格格不入,也有一些自卖自夸,但是,我还是希望借此机会推荐一下这个项目。
这个项目围绕AI领域的一些方向展开,目前包含计算机视觉系列,后续会加入机器学习、强化学习、优化算法等系列内容。
该项目的核心关注点是“动手学习”,也就是说不仅仅局限于理论知识,也会去利用Python动手实现相应的算法,在实现的过程中会对算法的思想具有更加深入的理解。
以耗时近一年、已经完结的计算机时间为例,里面会有文档逐步介绍算法的思想,然后在利用Python逐步实现,再次进行巩固。此外,项目中不再千篇一律的局限于深度学习,而是从数字图像处理开始介绍,关注到像素级的知识,然后在此基础上介绍传统的图像处理、目标识别算法,然后循序渐进的引入深度学习知识,这样对计算机时间会有更深、更广泛的认识。
img更多精彩内容
我建了一个QQ学习交流群,旨在“分享、讨论、学习、资源分享、就业机会、互联网内推、共同进步!”,感兴趣的可以加一下,也可以添加我的QQ~ QQ群:164660119;QQ号:498073774;公众号:【平凡而诗意】~