龙空技术网

python命令行解析库Fire简介

气象备忘录 348

前言:

目前我们对“python调用cmd并传入命令 shell”可能比较看重,看官们都想要学习一些“python调用cmd并传入命令 shell”的相关内容。那么小编在网络上汇集了一些有关“python调用cmd并传入命令 shell””的相关知识,希望咱们能喜欢,大家快快来学习一下吧!

导读:本文介绍命令行库fire的基本使用方法,约950字,正常读完需要6~8分钟。

功能

通过在主模块中调用fire.Fire(),Fire库可以将任何Python组件(函数、对象、类等)转换为命令行接口(Command Line Interfaces, CLIs)

安装

conda install -c conda-forge fire

或者 pip install fire

示例

一、普通函数

1. fire.Fire(<fn>)

仅对命令行公开函数:add,在shell命令行窗口执行python example.py + 参数就等效于执行add函数+参数。

2. fire.Fire()

脚本所有内容对命令行公开(This will expose the full contents of the program to the command line)。运行脚本时需要指定函数和位置参数:python+函数名+参数。

二、对象或类

1. fire.Fire(<object>)

传递对象calculator给fire,这种情况下运行脚本的方法和fire.Fire()有点类似:python+函数名+参数,但是help信息中没有GROUPS.

2. fire.Fire(<class>)

将类BrokenCalculator传给fire,这个方法可以动态传递构造参数(__int__的参数),此时的参数必须通--(两个短横)进行传递,如: --offset=2

实例化+调用add

3. 公开属性

上面class初始化中增加一个属性self.test = 'asymmetric'。(类似于公开函数)

执行 python example.py test即可返回该属性的值。

4. 嵌套命令

运行情况

5. 链式调用

在3的命令行上再增加一个upper函数,对3的返回字符串使用upper方法

$ python example.py test upper

ASYMMETRIC

其他用法请参考 Fire官方文档:

最后,将Argparse:一个具体案例教会你python命令行参数解析一文中命令行解析用fire改写,构造一个名为TRANS的class,在命令行动态传入构造参数;运行脚本时调用run()方法:

对比来看,fire的语法更加简洁,而Argparse解析更清晰更易理解,help信息可以添加很多自定义内容。

标签: #python调用cmd并传入命令 shell

上一篇Python基础编程——模块的基本概念

下一篇没有了