推荐一个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行代码搞定上面的功能,而且非常的简洁和清爽!是不是非常通俗易懂。用法很简单,如果我们要相关数字相加:

python3 demo_fire.py add 10 20
>>30

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

>>

$ python3 demo_fire.py mul 10 2

20

$ python3 demo_fire.py sub 10 2

8

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

最后推荐大家加入我的菜鸟学Python官方学习交流群:639584010,群里面有大牛和小白,欢迎各阶层的人加入,海量学习资料与你共享,不定期还会分享直播答疑。

猜你喜欢

转载自blog.csdn.net/qq_41888542/article/details/81126167