python命令行解析库——argparse库的使用

全栈工程师开发手册 (作者:栾鹏)
架构系列文章

argparse 是 Python 内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并自动生成帮助和使用信息。

设置一个解析器

该解析器可以用于处理命令行参数。

import argparse
parser = argparse.ArgumentParser(description='This is some description')

定义参数

参数若为单纯字符串(前无-)的时候,所输入的参数值即赋值给该参数。

parser.add_argument('par1', help="test action") 

当linux命令行为python arg.py test
则Python内接收为’par1’=test

若为有-或者–的参数,则需要打开开关并输入参数,也就是说在命令行中必须包含–par1,这样的字眼,或者用action存储后直接打开开关

parser.add_argument('--verbosity', help="test action") 

当linux命令行为 python arg.py --par1 value1

则Python内接收为'par1'=value1 此方法常用于设置可选开关

参数可以触发不同的动作,动作由 add_argument() 方法的 action 参数指定。

parser.add_argument('--lr_use', action='store_true', default=False)

当命令行输入了–lr_use,则会出发store保存为true
如果没有输入–lr_use,则默认为false
如果没有设置默认值,如果是store_false,则默认值是True,如果是store_true,则默认值是False。
所以最好在run之前打印输出查看

如果提供 dest 参数,参数值就保存为命令行参数解析时返回的命名空间对象中名为该 dest 参数值的一个属性。
也就是说参数的名称改成dest指定的名称

例如

parser.add_argument("-m", help="Running mode", dest="mode",default="local")

获取的参数为mode:local

add_argument()的choices参数可设置参数值的范围

parser.add_argument('-v', help='test choices', type=int, choices=[0, 1, 2])

default参数设置参数默认值

设置矛盾选项

group = parser.add_mutually_exclusive_group()
group.add_argument("-v", "--verbose", action="store_true")
group.add_argument("-q", "--quiet", action="store_true")

至此-v和-q不能同时出现

将获取的参数转变为字典

args = vars(parser.parse_args())
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

腾讯AI架构师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值