Python argparse.ArgumentParser()

1、介绍

该argparse模块使编写用户友好的命令行界面变得容易,该程序定义所需的参数,argparese可以找出并介意出这些参数,当用户提供无效参数时,该模块还会自动生成帮助和使用情况并发出错误。
[官方文档]:https://docs.python.org/3/library/argparse.html

2、一个简单的例子

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("integers")  
parser.add_argument("-n", "--num", type=int, help="输入数字")  
args = parser.parse_args()

print(args.integers)
print("num ={0}".format(args.num))
python test3.py 1111 --n 2222

输出:

1111
num =2222

3、详细介绍

1.1、创建解析器
使用的第一步argparse是创建一个 ArgumentParser对象:

parser = argparse.ArgumentParser()

该ArgumentParser对象将包含将命令行解析为Python数据类型所需的所有信息。

1.2 添加参数
ArgumentParser通过调用add_argument()方法来填充有关程序参数的信息。通常,这些调用说明ArgumentParser如何在命令行中获取字符串并将其转换为对象。该信息在parse_args()被调用时被存储和使用。例如:

parser.add_argument('--sum', dest='accumulate', action='store_const',
                   	 const=sum, default=max,
                 	 help='sum the integers (default: find the max)')

后来,调用parse_args()将返回一个对象有两个属性,integers和accumulate。该integers属性将是一个或多个int的列表,并且该accumulate属性将是sum()函数(如果–sum在命令行中指定)或max()函数(如果未在命令行中指定)。

1.3 解析参数
ArgumentParser通过parse_args()方法解析参数 。这将检查命令行,将每个参数转换为适当的类型,然后调用适当的操作。在大多数情况下,这意味着Namespace将根据从命令行外解析的属性来构建一个简单的对象:

>>>parser.parse_args(['--sum', '7', '-1', '42'])
Namespace(accumulate=<built-in function sum>, integers=[7, -1, 42])

在脚本中,parse_args()通常不会调用任何参数,并且ArgumentParser会自动从中确定命令行参数sys.argv。

2.1 ArgumentParser对象
类argparse.ArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=argparse.HelpFormatter, prefix_chars=’-’, fromfile_prefix_chars=None, argument_default=None, conflict_handler=‘error’, add_help=True, allow_abbrev=True)
创建一个新ArgumentParser对象。所有参数都应作为关键字参数传递。

  • PROG -程序的名称(默认:sys.argv[0])
  • usage -描述程序使用情况的字符串(默认值:从添加到解析器的参数生成)
  • description -在参数帮助前显示的文本(默认值:无)
  • epilog -在参数help之后显示的文本(默认值:无)
  • parents - ArgumentParser还应包含其参数的对象列表
  • formatter_class-用于定制帮助输出的类
  • prefix_chars-前缀可选参数的字符集(默认值:“-”)
  • fromfile_prefix_chars-该字符集的前缀文件从额外的参数应该读(默认值:None)
  • argument_default -为参数的全局默认值(默认值:None)
  • conflict_handler -解决冲突的可选内容的策略(通常是不必要的)
  • add_help -添加-h/–help选项解析器(默认值:True)
  • allow_abbrev-如果缩写是明确的,则允许缩写长选项。(默认值:True)

在版本3.5中进行了更改:添加了allow_abbrev参数。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python argparse.ArgumentParser是一个命令行参数解析器,它可以帮助开发者在命令行中解析参数,并提供帮助信息和错误提示。它是Python标准库中的一个模块,使用起来非常方便。通过argparse.ArgumentParser,开发者可以定义程序需要的参数,包括位置参数和可选参数,还可以定义参数的类型、默认值、帮助信息等。使用argparse.ArgumentParser可以让程序更加易于使用和维护。 ### 回答2: Python中的argparse模块提供了一个简单而灵活的方法来处理命令行参数。argparse.ArgumentParser类是argparse模块的主要类,它允许我们定义和解析命令行参数。 argparse.ArgumentParser的主要作用是帮助我们定义程序所需的命令行参数。我们可以使用add_argument()方法来添加参数选项和参数值,并为它们提供必要的信息,例如参数名称、参数类型、参数默认值等等。 argparse.ArgumentParser类提供了一些方便的方法来解析命令行参数。parse_args()方法用于解析命令行参数,并将它们转换为Python对象。它会根据我们定义的参数选项和参数值,自动识别出命令行中的参数,并将它们设置为相应的对象属性。 argparse模块还提供了一些其他的功能,例如帮助信息的生成、错误处理、参数值的合法性检查等。借助这些功能,我们可以编写出更加健壮和友好的命令行程序。 使用argparse.ArgumentParser类非常简单,只需要按照规定的格式定义参数选项和参数值,并根据需要从命令行获取参数值即可。argparse模块还提供了丰富的命令行参数的定制化选项,例如位置参数、可选参数、互斥参数等等,可以满足不同应用场景的需求。 总之,argparse模块是Python中处理命令行参数的一个强大工具,它使得编写命令行程序变得更加简单和高效。通过合理使用argparse.ArgumentParser类,我们可以轻松地处理命令行参数,并编写出易用和易扩展的命令行程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值