让命令行参数更简洁—google-fire库

作者: 生信编程日常 | 来源:发表于2020-04-01 16:58 被阅读0次

在python中使用命令行参数一般会用argparse库,不过Google的Fire库可以让我们更加方便。现在GitHub上已经有16k多star和1k fork,链接:https://github.com/google/python-fire/blob/master/docs/guide.md

  1. 安装:
pip install fire
  1. 简单的例子:
# 写入example.py
import fire

def hello(name):
    return "Hello, {}!".format(name)

if __name__ == '__main__':
    fire.Fire()

运行python example.py hello World, 返回:
Hello, World!

同样可以在主函数中直接调用hello,省去了命令行中写的函数名称:

import fire

def hello(name):
    return "Hello, {}!".format(name)

if __name__ == '__main__':
    fire.Fire(hello)

与上面返回同样的结果。

也可以在不改变源代码的基础上运行:

# 写入example2.py
def hello(name):
    return "Hello, {}".format(name)

python -m fire example2 hello --name=World
返回结果同上。

  1. 多种命令
# 写入example3.py

import fire

def add(x, y):
    return x + y

def sub(x, y):
    return x - y

def multify(x, y):
    return x * y

if __name__ == '__main__':
    fire.Fire()

分别运行一下代码:

python example3.py add 2 3
python example3.py sub 2 3
 python example3.py multify 2 3

分别返回:5;-1;6.

也可以写成class:

import fire

class Cal():
    def add(self, x, y):
        return x + y

    def sub(self, x, y):
        return x - y

    def multify(self, x, y):
        return x * y

if __name__ == '__main__':
    fire.Fire(Cal)

此外,还有命令分组等功能,详细内容可以参见github中的手册。

欢迎关注公众号~


相关文章

  • 让命令行参数更简洁—google-fire库

    在python中使用命令行参数一般会用argparse库,不过Google的Fire库可以让我们更加方便。现在Gi...

  • Java 命令行参数解析类库

    命令行参数解析类库1命令行参数解析类库2命令行参数解析类库3 JArgsJakarta Commons CLITE...

  • python_argparse&&click库(从命令行接收用户

    argparse库 01.库安装 argparse库是python自带的命令行参数解析包,不仅可以从用户命令行中获...

  • 【使用Python打造Linux命令行工具1】

    一、与命令行相关的python语言特性 使用sys.argv获取命令行参数 sys库中有一个保存所有命令行参数的a...

  • decopt库

    Decopt库是专门用于处理命令行参数,这样你就不用在代码里自己编写参数来处理程序的`**kwargs``了。 库...

  • Go-flag包解析

    简介 godoc-flag 标准库-命令行参数解析flag cobra-解析命令 功能:flag实现命令行解析 使...

  • argparse模块

    argparse库是用来管理命令行参数 参考资料:argparse模块官方文档

  • Nodejs CLI最佳实践

    使用库 启动设计 方括号([]) 表示可选参数,尖括号(<>) 表示必选参数 总体设计 参考docker命令行设计...

  • Python -- 图片转字符画

    首先导入必要的库,argparse 库是用来管理命令行参数输入的 首先导入必要的库,argparse 库是用来管理...

  • C/C++ 命令行参数解析库选型

    C/C++ 程序可以用的命令行参数解析库主要有如下这些: cmdline:一个轻量级的 C/C++ 命令行参数解析...

网友评论

    本文标题:让命令行参数更简洁—google-fire库

    本文链接:https://www.haomeiwen.com/subject/xxyauhtx.html