python学习: fire库的使用教程

一. 介绍

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()结果都是一样的

加参数运行结果:
在这里插入图片描述
注意:

  1. fire 默认使用 - 作为参数分隔符,所以如果你要在命令行传入类似 2017-04-22 的参数时,那么程序接收到的参数就肯定不是 2017-04-22 了,需要使用 --separator 来改变分隔符

  2. fire 会自动区分你在命令行传入的参数的类型,例如 20170422 会自动识别成 int,hello 会自动识别成 str,'(1,2)' 会自动识别成 tuple,'{"name": "Alan Lee"}' 会自动识别成 dict。但是你如果想要传入一个字符串类型的 20170422 怎么办?那就需要这样写:'"20170422"' 或者 "'20170422'" 或者 "20170422",总之呢,就是加一个转义,因为命令行默认会吃掉你的引号

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python学习: fire库的使用教程 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • Http和Https的区别?

    1.HTTP是什么? http是超文本传输协议用来在web浏览器和网站服务器之间传递数据信息,http以明文的方式发送内容,不提供任何方式的数据加密,如果攻击者截获了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决http协议的这一缺陷,需要使用另一种协议:安…

    Python开发 2023年4月2日
    00
  • Python教程:selenium模块用法教程

    1.介绍 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器 from selenium import webdriver browser=webd…

    Python开发 2023年3月31日
    00
  • Python的OptionParser模块教程

    Python中强大的选项处理模块。 示例 #!/usr/bin/pythonfrom optparse import OptionParser parser = OptionParser() parser.add_option(“-f”, “–file”, dest=”filename”, help=”write report to FILE”, meta…

    Python开发 2023年3月31日
    00
  • Python关于异常处理的教程

    一、什么是异常 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下 1 语法错误 语法错误,根本过不了python解释器的语法检测,必须在程序执行前就改正。 # 语法错误示范一 if # 语法错误示范二 def test: pass # 语法错误…

    Python开发 2023年3月31日
    00
  • Python学习:import的正确用法

    import语句用来导入其他python文件(称为模块module),使用该模块里定义的类、方法或者变量,从而达到代码复用的目的。 将要建立文件的结构为: Tree |____ m1.py |____ m2.py |____ Branch |____m3.py |____m4.py 首先,先建立一个文件夹Tree作为工作目录,并在其内建立两个文件m1.py和…

    Python开发 2023年4月2日
    00
  • Python第三方库安装教程、什么是第三方库

    Python有一个全球社区:https://pypi.org/,在这里我们可以搜索任何主题的Python第三方库。PyPI全称是Python Package Index,指的是Python包的索引,它由PSF(Python Software Foundation)来维护,并且展示全球Python计算生态。 我们需要学会利用PyPI的主站检索,找到我们使用和关…

    python 2023年5月8日
    00
  • Python学习:property装饰器

    1.property 装饰器:装饰器是在不修改被装饰对象源代码以及调用方式的前提下为被装饰对象添加新功能的可调用对象 property是一个装饰器,是用来绑定给对象的方法伪造成一个数据属性 装饰器property,可以将类中的函数“伪装成”对象的数据属性,对象在访问该特殊属性时会触发功能的执行,然后将返回值作为本次访问的结果。 使用property有效地保证…

    Python开发 2023年4月2日
    00
  • Python迭代器是啥?

    迭代器:迭代的工具。迭代是更新换代,如你爷爷生了你爹,你爹生了你,迭代也可以说成是重复,并且但每一次的重复都是基于上一次的结果来的。如计算机中的迭代开发,就是基于软件的上一个版本更新。以下代码就不是迭代,它只是单纯的重复 while True: print(‘*’*10) 一、可迭代对象 python中一切皆对象,如 x = 1 name = ‘nick’ …

    Python开发 2023年3月31日
    00
合作推广
合作推广
分享本页
返回顶部