美文网首页Python程序员联盟
python 脚本自动生成命令行接口(CLI)之Fire

python 脚本自动生成命令行接口(CLI)之Fire

作者: 一只老梨花 | 来源:发表于2017-12-16 15:26 被阅读22次

    起因

    工作中总是需要在调用python 脚本的时候把一些变量传进去,比如python my_script.py arg1 arg2. 看了一些网上的方案之后觉得sys.args 传参太简单了,没有参数说明,argparse的参数说明又要自己写,比较麻烦。

    Fire

    Fire 是Google 开发的一款自动生产python脚本CLI的python lib。使用方法很简单。

    • setp1:import fire
    • setp2:fire.Fire(fun1)
    • setp3:愉快的调用

    eg:test.py

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Date    : 2017-12-16 11:56:17
    # @Author  : robin (robin.zhu@*********)
    
    import os,fire
    
    def a1(name,age,sex):
        print name
        print age
        print sex
    
    if __name__ == '__main__':
        fire.Fire(a1)
    

    python test.py robin 11 man
    or
    python test.py --age 11 --name robin --sex man

    输入python test.py
    返回:

    Fire trace:
    1. Initial component
    2. ('The function received no value for the required argument:', 'name')
    
    Type:        function
    String form: <function a1 at 0x0000000003E63048>
    File:        d:\userdata\robzhu\desktop\work_script\fire\test.py
    Line:        29
    
    Usage:       test.py NAME AGE SEX
                 test.py --name NAME --age AGE --sex SEX
    

    一个fire.Fire()已经为你做好了。

    Tips:

    Fire 也可以传入class,如果class 有构造函数,对应的参数也需要一起传入。

    参考:

    Fire

    相关文章

      网友评论

        本文标题:python 脚本自动生成命令行接口(CLI)之Fire

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