python fire库的使用实例教程
作者:小小程序员ol 发布时间:2023-08-24 14:01:22
一. 介绍
fire是python中用于生成命令行界面(Command Line Interfaces, CLIs)的工具,不需要做任何额外的工作,只需要从主模块中调用fire.Fire(),它会自动将你的代码转化为CLI,Fire()的参数可以说任何的python对象
二. 安装
pip install fire
三. 用法
实例1 :
单个函数:python 模块名 参数1 参数2
在Common目录下新建一个test_fire.py的模块
import fire
def add(a, b):
count = a + b
return count
if __name__ == '__main__':
fire.Fire(add)
当不接参数时,执行python test_fire.py会显示帮助信息
帮助信息里显示了fire.Fire()的参数类型(function)、文件路径、文档字符串、参数用法等信息
加参数运行的结果如下:
注意:两种方法调用,一种是直接跟实参,一种是--形参 实参的形式,为了方便,本文采取第一种
实例2:
多个函数:python 模块名 函数名 参数
import fire
def add(a, b):
count = a + b
return count
def sub(a, b):
result = a - b
return result
if __name__ == '__main__':
fire.Fire()
加上参数运行结果:
实例3 :
类(对象) 多个函数:python 模块名 函数名 参数
import fire
class Calculator(object):
def add(self, a, b):
count = a + b
return count
def sub(self, a, b):
result = a - b
return result
# Python学习交流群:711312441
if __name__ == '__main__':
fire.Fire(Calculator) #这里用类名Calculator或者类的实例化对象Calculator()结果都是一样的
加参数运行结果:
注意:
fire 默认使用 - 作为参数分隔符,所以如果你要在命令行传入类似 2017-04-22 的参数时,那么程序接收到的参数就肯定不是 2017-04-22 了,需要使用 --separator 来改变分隔符
fire 会自动区分你在命令行传入的参数的类型,例如 20170422 会自动识别成 int,hello 会自动识别成 str,'(1,2)' 会自动识别成 tuple,'{"name": "Alan Lee"}' 会自动识别成 dict。但是你如果想要传入一个字符串类型的 20170422 怎么办?那就需要这样写:'"20170422"' 或者 "'20170422'" 或者 "20170422",总之呢,就是加一个转义,因为命令行默认会吃掉你的引号
来源:https://www.cnblogs.com/python1111/p/17008898.html


猜你喜欢
- JS高级 一、JS的数据类型 1.基本类型 JS共有5大基本类型,分别是: 1)Undefined。他只有一个值:undefined。如果一
- 引言只进行基本的四则运算,利用栈结构和后缀表达式来计算数学表达式的值。本文代码:GitHub 运行效果:问题如果只能进行两个值的加
- ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI 研发的聊天机器人程
- 以下内容给大家c#连接数据库的方法的相关介绍,本文非常具有参考借鉴价值,具体详情如下所示。ASP.NET连接数据库的技术叫ADO.NET,它
- 1、下载LineNumber.pyhttp://idlex.sourceforge.net/extensions.html2、配置方法(1)
- PyCharm安装配置Qt Designer+PyUIC教程1、安装依赖命令形式pip install PyQt5pip install p
- 本文介绍了 setuptools 框架的内容,它是 PEAK 的一个副项目,它提供了比 distutils 更加简单的包管理和发行功能。开始
- 朋友需要一个工具,将图片中的文字提取出来。我帮他在网上找了一些OCR的应用,都不好用。所以准备自己研究,写一个Web APP供他使用。OCR
- 目录前言1.获取当前时刻时间1.1返回当前时刻的日期和时间1.2获取当前时刻的日期1.3获取当前时刻的时间1.4获取当前时刻的周数2.日期时
- 效果图:1.安装django-ckeditorpip install django-ckeditor如果需要上传图片或者文件,还需要安装pi
- 很多时候我们写的程序,会花上一分钟甚至几分钟时间。为了使软件使用者能够耐心的等待程序的执行,我们经常会希望有一个进度条来表示程序执行的状态。
- 本文实例讲述了Python实现二维有序数组查找的方法。分享给大家供大家参考,具体如下:题目:在一个二维数组中,每一行都按照从左到右递增的顺序
- 本文实例讲述了Laravel框架实现定时发布任务的方法。分享给大家供大家参考,具体如下:背景:需要每隔一小时新建一个任务http://lar
- 我们熟悉了对象和类的基本概念。我们将进一步拓展,以便能实际运用对象和类。调用类的其它信息上一讲中提到,在定义方法时,必须有self这一参数。
- 一. 概念理解你可能有留意到当你浏览网页时,会有一些推送消息,大多数是你最近留意过的同类东西,比如你想买桌子,上淘宝搜了一下,结果连着几天会
- 在Python中使用json的时候,主要也就是使用json模块,json是以一种良好的格式来进行数据的交互,从而在很多时候,可以使用json
- 即使你没听说过“ * 六度分隔理论”,也很可能听过“凯文 • 贝肯 (Kevin Bacon)的六度分隔值游戏”。在这两个游戏中,目标都是
- jQuery是最近比较火的一个JavaScript库,从del.icio.us/上相关的收藏可见一斑。到目前为之jQuery已经发布到1.2
- 调试的定义:通过一定方法,在程序中找到并减少缺陷的数量,从而使其能正常工作。这里说一些如何调试PHP程序的经验。一、PHP自带的调试功能1、
- 前言最近在解决一些算法优化的问题,为了实时性要求,必须精益求精的将资源利用率用到极致。同时对算法中一些处理进行多线程或者多进程处理。在对代码