python中——argparse的使用

本文介绍了Python标准库中的argparse模块,详细讲解了ArgumentParser类的用法、add_argument()方法的参数以及parse_args()的作用,帮助开发者更好地处理命令行参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

argparse是什么?

argparse的用法

ArgumentParser()

add_argument()

parse_args()


argparse是什么?

argparse 是 Python 标准库中用于处理命令行参数的模块。它允许你定义命令行参数、选项和子命令,并帮助用户通过命令行界面与你的程序进行交互

argparse的用法

argparse模块有三个主要方法

  1. ArgumentParser():用于创建命令行解析器对象;
  2. add_argument():用于给解析器添加命令行参数;
  3. parse_args():用于解析命令行的参数。

ArgumentParser()

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, 
                        exit_on_error=True)

在创建ArgumentParser对象的时候,绝大多数时候,参数使用默认值即可。对于
各参数意义,下面列出可进行参考:

  • prog - 程序的名称(默认值:sys.argv[0])
  • usage - 描述程序用途的字符串(默认值:从添加到解析器的参数生成)
  • description - 在参数帮助文档之前显示的文本(默认值:无)
  • epilog - 在参数帮助文档之后显示的文本(默认值:无)
  • parents - 一个 ArgumentParser 对象的列表,它们的参数也应包含在内
  • formatter_class - 用于自定义帮助文档输出格式的类
  • prefix_chars - 可选参数的前缀字符集合(默认值: ‘-’)
  • fromfile_prefix_chars - 当需要从文件中读取其他参数时,用于标识文件名的前缀字符集合(默认值: None)
  • argument_default - 参数的全局默认值(默认值: None)
  • conflict_handler - 解决冲突选项的策略(通常是不必要的)
  • add_help - 为解析器添加一个 -h/–help 选项(默认值: True)
  • allow_abbrev - 如果缩写是无歧义的,则允许缩写长选项 (默认值:True),该参数从Python3.5开始才有。在Python3.8之前的版本中,该参数还会禁用短旗标分组,例如 -vv 表示为 -v-v。
  • exit_on_error - 决定当错误发生时是否让 ArgumentParser 附带错误信息退出。该参数在Python3.9版本中才有 (默认值: True)
     

add_argument()

用于定义你的命令行参数和选项。通俗地说,它就像是告诉 Python 解析器你的程序希望接受哪些用户提供的输入,并且如何处理这些输入,是用的最多的函数

add_argument() 方法有多个参数:

1.name or flags(名称或标志):

  • 这是用于指定参数或选项名称的位置参数。它可以是一个字符串,表示位置参数的名称,也可以是一个包含一个或多个标志的列表。标志通常由短选项(例如 -f)和长选项(例如 --file)组成,用于在命令行中指定参数

2.action(操作):

  • 定义参数在命令行中出现时的行为。常见的选项包括:
  • store:默认操作,将参数值存储在一个变量中。
  • store_const:将一个常量值与参数相关联。
  • store_true 和 store_false:用于布尔选项,分别将参数设置为 True 或 False。
  • append:将参数值追加到一个列表中。
  • count:用于统计参数出现的次数。
  • help:用于显示帮助信息并退出。

3.default(默认值):

  • 指定参数的默认值,如果用户没有提供参数值,则使用默认值。

4.type(类型):

  • 指定参数的数据类型,例如 intfloat 或 str,用于确保用户提供的值是符合预期的数据类型。

5.choices(选项):

  • 指定参数允许的值的列表,用户提供的值必须在此列表中。

6.required(必需):

  • 指定参数是否是必需的。如果设置为 True,用户必须提供此参数。

7.help(帮助信息):

  • 为参数提供描述性的帮助信息,当用户请求帮助信息时,这个文本将显示在屏幕上。

8.metavar(元变量):

  • 用于指定在帮助信息中显示参数的名称,通常用于更好的帮助信息呈现。

parse_args()

parse_args() 方法用来解析参数。

它将检查命令行,把每个参数转换为适当的类型然后调用相应的操作。

这个方法返回的是一个Namespace对象。

补充:

在Python中,Namespace对象是一个用来存储变量的容器,这些变量可以通过名称访问。你可以将Namespace对象想象成一个字典,其中键是变量的名称,值是变量的值

示例:

import argparse
ap = argparse.ArgumentParser()
ap.add_argument('-i','--image',required=True,help="输入图像的路径")
ap.add_argument('-t','--template',required=True,help='OCR-A模板图像的路径')
my_args = ap.parse_args()
print(my_args)

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值