推荐一个Google的Python库,非常适合小白上手

题图,来自网络

平时大家在Linux上工作写代码,有的时候需要写一些命令行的解析脚本。一般来说我们都是用argparse库,今天我在Github上逛了一圈,发现一个非常方便的牛逼的库叫'fire',仔细一看是来自Google的开源库,听名字赶紧要火,小试牛刀,发现非常不错!

1.传统的命令行解析,argparse库

通常我们在写命令行解析的时候,都是用的argparse这个库。这是一个标准库,argparse功能非常强大,但是缺点是用起来比较麻烦,参数等等一坨东西。

1).看一些非常简单的计算功能

比如写一个非常简单的加法的计算器小脚本,需要9行代码,而且需要填充一堆的参数。

上面是一个非常非常简单的argparse的用法,但是如果是新手看完是不是非常不好理解。参数太多了,argparse里面有可选产生,定位参数。一般分三步解析:

首先声明一个ArgumentParser对象,这个里面添加程序的功能描述

接着声明一堆解析规则,这里也是最复杂的地方。用add_argments函数,里面有一堆的参数要填。

最后用parse_args()来解析传入的内容。

如果脚本的功能复杂,这个解析的地方会扩展的非常多,而且很长。看着头都晕,有没有简单的,小白很容易上次的命令行解析库呢,有看看Google出名的fire库。

2.Google出品的fire库

这个库有近10000个赞和540次的fork,还是相当不错的!为啥这么牛呢,我们来看看它的用法。

也是上面的例子,实现两个数字的加法。

一共6行代码搞定上面的功能,而且非常的简洁和清爽!是不是非常通俗易懂。用法很简单,如果我们要相关数字相加:

fire把那些烦人的定位参数,可选参数等等全部封装好了,你只要思考你的逻辑部分,不需要花很大的力气在熟悉argparse的用法上面。节省的大量的精力和时间。如果我们想把上面的脚本扩展,增加减法,乘法和除非的功能!只需要往Calculator类里面添加函数即可。

$ python3 demo_fire.py mul 10 2

20

$ python3 demo_fire.py sub 10 2

8

是不是非常简洁,上面只是这个强大功能的冰山一角,还有很多有趣的功能。比如命令分组的功能,访问属性功能。以后可以抛弃argparse库,来拥抱fire了。其实我仔细看了一些fire源码,这个库底层也是调用argparse库的,只是用了很多封装,让我使用更方便更简洁!

链接:https://github.com/google/python-fire/blob/master/docs/guide.md

下面推荐我的小程序,码题达人

Python圈第一个答题有奖小程序

新上50份奖品,等你来刷题

码题达人

好玩·有趣·奖品多

长按·扫码

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180713G0LF1T00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券