技术文章

简单方便的python命令工具框架

这里介绍2个非常不错的Python第三方命令行工具(模块),分别是click和fire,相比较argparse来说,功能相差不大,但使用起来更简单,也更易学习和掌握,下面我简单介绍一下这2个工具的安装和使用,感兴趣的朋友可以尝试一下:

click命令行工具

这是Flask作者开发的一个Python第三方命令行工具,支持任意命令嵌套以及自动生成帮助文档,可以明显加快CLI程序编写速度,下面我简单介绍一下这个工具:

1.首先,安装click工具(模块),这个直接在cmd窗口输入安装命令“pip install click”就行,如下:

python命令工具框架

2.安装完成后,我们就可以直接使用click模块来编写命令行脚本了,测试代码如下,非常简单,首先使用@click.command() 装饰函数,使之成为命令行接口,接着使用@click.option() 装饰函数,为其添加2个命令行选项(count和name),default为参数默认值,help为参数说明,type为参数类型,required为必须参数,prompt为提示用户输入:

python命令工具框架

打开终端(或cmd窗口),运行“python 脚本 --help”命令就可以直接查看帮助文档,如下,包括命令说明、参数名称及参数说明等:

python命令工具框架

然后根据文档说明,我们就可以直接传入参数测试命令行脚本了,如下,非常方便:

python命令工具框架

fire命令行工具

这是谷歌开源的一个Python第三方命令行工具,基本功能和使用方式与click差不多,可以根据函数、类、字典、模块等自动生成命令帮助文档和使用说明,下面我简单介绍一下这个工具:

1.首先,安装fire工具(模块),这个也直接在cmd命令行输入安装命令“pip install fire”就行,如下:

python命令工具框架

2.安装完成后,我们就可以直接使用fire模块来编写命令行脚本了,测试代码如下,一个非常简单的计算两天之差函数,输入参数为date_str1和date_str2,输出为相差天数:

python命令工具框架

打开终端(或cmd窗口),运行“python 脚本”命令就可以直接生成帮助文档,如下,包括命令类型、命令行数、命令说明、参数名称等:

python命令工具框架

然后我们就可以直接传入参数测试命令行脚本了,如下,非常简单,如果传入参数有错,这里会自动给出错误提示:

python命令工具框架

至此,我们就完成了click和fire这2个python命令行工具的安装和使用。总的来说,这2个工具使用起来非常方便,相比较argprse来说,更易学习和理解,只要你熟悉一下相关文档和说明,多调试几遍程序,很快就能掌握的,当然,还有其他第三方python命令行工具,像docopt等也都非常不错