python中的cli模块_如何使用PythonFire将你的任意python项目转换为命令行Cli模式

在python原生编程中,我们常用sys.argv[1]来传递命令行下的参数,对单个函数而言,fire的操作也是类似,在__main__里定义fire.Fire(函数名)对象即可。但是在类上面,fire就显得非常高效。下面具体介绍。

yyycode_com20200717124646.png

0. 简介

开源地址:google/python-fire

python-fire是谷歌开源的一款自动生成命令行(cli)界面的库。

1. 安装

pip install fire

2. 使用

Fire支持任何python类型,比如函数、类、模块、对象、字典、列表、元组等等。

函数示例:

import fire

def hello(name="World"):

return "Hello %s!" % name

if __name__ == '__main__':

fire.Fire(hello)

终端使用方法:

python hello.py # Hello World!

python hello.py --name=David # Hello David!

python hello.py --help # Shows usage information.

yyycode_com20200717123621.png

对类的操作演示:

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

从这里可见该工具的强大之处,对于一些python模块编程,我们只需添加简单的两行内容,就可以转换为一个Cli命令工具。这在最终生产环境是非常高效的。

3. 小结

fire非常适合将python的类转换为Cli工具,用于单一函数也是没有问题的,不过这个工具仅在最后才可以使用,平时调试或者在jutyper里是不行的,会提示ERROR:Could not consume arg的错误。

佰阅部落 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权

转载请注明原文链接:如何使用PythonFire将你的任意python项目转换为命令行Cli模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值