python 获取命令行参数_一日一技:快速实现Python 命令行参数

ef7a5c8caf772e6203484e06dbef2769.png

摄影: 产品经理 厨师: kingname

我们有时候需要使用 Python 开发一些命令行工具,并在运行命令的时候指定一些参数,例如:

python3 xxx.py --name kingname --salary 999999

对于简单的,只有几个参数的工具,我们可以使用 sys.argv来获取。

如果我们还需要在参数里面输出帮助信息,并且同时兼顾两种格式:

python3 xx.py --name=kingname --salary=999

python3 xxx.py --name kingname --salary=999

那么使用 sys模块就不好用了。此时我们可以使用 argparse。但是如果你阅读它的官方文档:https://docs.python.org/zh-cn/3/howto/argparse.html,你就会发现 argparse写起来还是有点麻烦。

那么有没有简单的方法实现命令行参数呢?答案就是 fire这个库。

首先我们来安装一下它:

python3 -m pip install fire

然后我们来实现一个简单的支持命令行的程序:

import fire

def intro(name, salary):

print(f'我的名字是:{name}, 我的月薪是{salary}')

if __name__ == '__main__':

fire.Fire(intro)

这段代码支持三种调用方法,如下图所示:

9f4a7267b0b3f3dac437eb87c24506d8.png

使用参数 python3 test_fire.py--help可以看到自动生成的帮助信息:

b94b07f47ac91c278b0b3316e494279a.png

如果漏掉了某些信息,那么就会报错:

216e3466fd39fe7ca0e628127782d759.png

那么如果有些参数可要可不要怎么办呢?也非常简单,给函数参数带上默认值即可,例如:

import fire

def intro(name='产品经理', salary=88888):

print(f'我的名字是:{name}, 我的月薪是{salary}')

if __name__ == '__main__':

fire.Fire(intro)

运行效果如下图所示:

5fb0d36573242a8c02cc1a88eede1e4c.png

使用 fire,让你的命令行参数更容易。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值