python笔记:argparse模块

Python的argparse模块用于解析命令行参数和选项。它内置在Python中,使用包括创建ArgumentParser对象、添加参数、解析参数等步骤。ArgumentParser的构造函数接受description、epilog等参数,而add_argument()用于定义参数,支持位置参数、可选参数,以及多种action、nargs、type、default等选项。通过设置参数,可以控制命令行交互的行为和输出。
摘要由CSDN通过智能技术生成

用途

python用于解析命令行参数和选项的标准模块,内置于python,不需要安装.

使用步骤

引入模块

import argparse

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

parser = argparse.ArgumentParser(description='Process some integers.')

ArgumentParser 对象包含将命令行解析成 Python 数据类型所需的全部信息。

添加参数
给一个 ArgumentParser 添加程序参数信息是通过调用 add_argument() 方法完成的。通常,这些调用指定 ArgumentParser 如何获取命令行字符串并将其转换为对象。这些信息在 parse_args() 调用时被存储和使用。

parser.add_argument( ' ***' )

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

args = parser.parse_args() 

将属性赋值给args实例,即把parser中设置的所有’add_argument’给返回到args子类实例中。
最后得到的结果是一种类似于python字典的数据类型。我们可以使用 args.参数名来提取对应的参数

argparse.ArgumentParser()

参数解析:一般只选择用description

1.description - 命令行帮助的开始文字,大部分情况下,我们只会用到这个参数
2.epilog - 命令行帮助的结尾文字
3.prog - (default: sys.argv[0])程序的名字,一般不需要修改
4.prefix_chars - 命令的前缀,默认是-,例如-f/–file。
5.fromfile_prefix_chars - (default: None)如果你希望命令行参数可以从文件中读取,就可能用到。例如,如果fromfile_prefix_chars=’@’,命令行参数中有一个为”@args.txt”,args.txt的内容会作为命令行参数
6.add_help - 是否增加-h/-help选项 (default: True),一般help信息都是必须的,所以不用设置啦。
7.parents - 类型是list,如果这个parser的一些选项跟其他某些parser的选项一样,可以用parents来实现继承,例如parents=[parent_parser]
8.argument_default - (default: None)设置一个全局的选项的缺省值,使用较少
9.usage - (default: generated)如果你需要修改usage的信息(usage: PROG [-h] [–foo [FOO]] bar [bar …]),那么可以修改这个,一般不要修改。
10.conflict_handler - 不建议使用。这个在极端情况下才会用到,主要是定义两个add_argument中添加的选项的名字发生冲突时怎么处理,默认处理是抛出异常。

add_argument()

命令行参数:

ArgumentParser.add_argument(name or flags...[,action][,nargs][,const][,default]
                           [,type][,choices][,required][,help][,metavar][,dest])

参数解析:

选项字符串名字或列表 — name or flags
必须有的参数,主要分为以下几种类型:

1.位置参数:不带“-”或“- -”的参数,调用时必须输入,且次序与定义时相同
2.可选参数:带“-”或“- -”的参数,没有定义时,默认为None.其中‘-’表示参数的缩写,便于命令行的输入。

命令行遇到参数时的动作 — action
指定应该如何处理命令行参数,预置的操作有以下几种:
1.action=’store’ 仅仅保存参数值,为action默认值

>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo')
>>> parser.parse_args('--foo 1'.split())
Namespace(foo='1')

2.action=’store_const’ 与store基本一致,但store_const只保存const关键字指定的值

>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', action='store_const', const=42)
>>> parser.parse_args('--foo'.split())
Namespace(foo=42)
>>> parser.parse_args('--foo 34'.split())
usage: arg_parse.py [-h
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值