把python对象转成终端命令的工具库

fire

安装

pip install fire

基本使用

import fire


# def hello(name): # 位置参数,终端下使用按位置来传递参数
def hello(name="小辉"):  # 命名参数,终端下使用按位置/参数名来传递
    return f"接受参数{name}!!!"

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

终端下作为命令脚本使用:

$ python demo.py hello
# 报错:
ERROR: The function received no value for the required argument: name
Usage: demo.py hello NAME

For detailed information on this command, run:
  demo.py hello --help

$ python demo.py hello 小明
接受参数name小明!!!

$ python demo.py hello 小明
接受参数name=小明!!!

$ python demo.py hello name=小明
接受参数name=name=小明!!!

$ python demo.py hello
接受参数小辉!!!

$ python demo.py hello name=小明
接受参数name=小明!!!

以类方式组织命令

import fire

class Command(object):

    def hello(self, name):
        return f"hello {name}!!!"

    def world(self, name):
        return f"world {name}!!!"

if __name__ == "__main__":
    command = Command()
    fire.Fire(command)
posted @ 2022-03-01 18:40  寻月隐君  阅读(71)  评论(0编辑  收藏  举报