以下为授权转载的一盎司科技公众号文章
Python在命令行运行时,通常会涉及到参数解析,譬如通过不同入参实现不同的功能,包含设置帮助等。下面将简单介绍Google开源的自动生成命令行接口的Fire库,详细介绍可参考官方文档(https://google.github.io/python-fire/guide/)。
示例代码地址:
GitHub地址:https://github.com/iounce/python-cpp-demo
Gitee地址:https://gitee.com/iounce_admin/python-cpp-demo
环境
-
Windows操作系统:Windows10(21H2,19044.1766)
-
C++开发环境:Visual Studio 2022社区版
-
Python:3.10.4
-
Fire: 0.4.0
安装Fire
在Python中使用,直接使用如下命令安装即可:
pip install fire
单函数调用
编写简单的函数sayHello(),增加入参name:
无需添加其他特别的操作,直接调用Fire()函数即可自动生成命令行参数。执行结果如下:
可以看到,直接执行的时候会提示参数的用法,调用sayHello()函数不加参数则会报错,加参数后返回预期结果。
多函数调用
继续添加sayGoodbye()函数,其他无需改动,Fire库能自动添加此函数的命令行接口:
调用函数时,可以增加命令行参数--name来增加入参(也可以不加):
类调用
编写类Car,并添加初始化参数及相关函数:
可以在命令行直接访问类Car的成员变量code,同时可以调用成员函数create():
链式调用
继续编写Number类及其相关函数:
首先在命令行初始化value值,然后采用链式调用修改value值:
通过Fire库自动生成命令行参数,极大地简化了命令行参数解析操作,值得尝试。