Python命令参数解析库argparse使用详解

argparse库是Python自带的一个命令行参数解析库。它可以处理选项参数(optional argument)和位置参数(positional argument),并能根据参数信息自动生成使用帮助信息。其功能跟C语言的的getopt和getopt_long函数很像,但比后者更强大简便一些。

基本使用

创建解析器

解析器对象的类型为ArgumentParser类,调用其构造方法可创建。启动python3的交互式界面,输入如下代码。

import argparse
parser = argparse.ArgumentParser(
    description='example argument parser')

print(parser)
ArgumentParser(prog='', usage=None, description='example argument parser', formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True)

添加参数信息

创建好解析器对象后,调用该对象的add_argument方法来添加参数。可以添加选项参数和位置参数。所谓选项参数就是以'-'开头的选项开关,包括长选项'--'和短选项;而位置参数,则不以'-'开头。举个例子,常用的find命令的格式如下:
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
其中-H, -L等就称为选项参数;而后面的path和expression则称为位置参数。

添加长选项参数:

parser.add_argument(
    '--option-a')

添加短选项参数:

parser.add_argument(
    '-b')

也可以把长选项和短选项参数关联:

parser.add_argument(
    '-c', '--option-c')

解析参数

添加完参数信息后,就可以调用解析器对象的parse_args方法来解析命令行参数了。一般情况下,命令行参数存于sys.argv数组中。这里直接构造一个列表模拟命令行。

args = parser.parse_args(['--option-a', '1', '-b', '2', '-c', '3', 'testfile'])
print(args)
print(vars(args))
print('option-a: ', args.option_a)
print('filename: ', args.filename)
Namespace(b='2', filename='testfile', option_a='1', option_c='3')
{'option_a': '1', 'b': '2', 'option_c': '
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值