1.前要
fire是python中用于生成命令行界面(Command Line Interfaces, CLIs)的工具
不需要做任何额外的工作,只需要从主模块中调用fire.Fire()
它会自动将你的代码转化为CLI
Fire()的参数可以说任何的python对象
2.安装
pip3 install fire
3.使用
1 import fire 2 3 def add(a, b): 4 count = a + b 5 return count 6 7 def multi(a, b): 8 result = a * b 9 return result 10 11 if __name__ == '__main__': 12 fire.Fire()
python3 xxx.py add 1 2
3
python3 xxx.py multi 1 2
2
4.须知
1. fire 默认使用 - 作为参数分隔符,所以如果你要在命令行传入类似 2020-10-26 的参数时,那么程序接收到的参数就肯定不是 2020-10-26 了,需要使用 --separator 来改变分隔符
2. fire 会自动区分你在命令行传入的参数的类型,例如 20201026 会自动识别成 int,hello 会自动识别成 str,'(1,2)' 会自动识别成 tuple,'{"name": "Alan Lee"}' 会自动识别成 dict。但是你如果想要传入一个字符串类型的 20201026 怎么办?那就需要这样写:'"20201026"' 或者 "'20201026'" 或者 "20201026",总之呢,就是加一个转义,因为命令行默认会吃掉你的引号