马哥高端Go语言百万并发高薪班/微服务/分布式高可用/Go高并发
能够看到,这里它将 name 这个参数转化成了命令行的一个可选参数,我们能够经过 —-name 来交换 name 参数。
我们来试下:
python3 demo1.py --name 123
复制代码
这里我们传入了一个 name 参数是 123,这时分我们就发现运转结果就变成了如下内容:
Hello 123!
复制代码
是不是十分便当?我们没有借助 argparse 就轻松完成了命令行参数的支持和交换。
那假如我们将 name 这个参数的默许值取消呢?代码改写如下:
import fire
def hello(name):
return "Hello %s!" % name
if __name__ == '__main__':
fire.Fire(hello)
复制代码
这时分重新运转:
python3 demo1.py --help
复制代码
就能够看到结果变成了如下内容:
NAME
demo1.py
SYNOPSIS
demo1.py NAME
POSITIONAL ARGUMENTS
NAME
NOTES
You can also use flags syntax for POSITIONAL ARGUMENTS
复制代码
这时分我们发现 name 这个参数就变成了必传参数,我们必需在命令行里指定这个参数内容,调用就会变成如下命令:
python3 demo1.py 123
复制代码
运转结果还是一样的。