知行编程网知行编程网  2022-03-16 04:00 知行编程网 隐藏边栏 |   抢沙发  15 
文章评分 0 次,平均分 0.0

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

题图,来自网络

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


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

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


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

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

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


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

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

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

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


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



2.Google出品的fire库


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

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


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

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

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


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


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


>>

$ 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份奖品,等你来刷题

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


码题达人

好玩·有趣·奖品多

长按·扫码

本篇文章来源于: 菜鸟学Python

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享