概述
argsparse是一个用于解析和验证命令行参数的接口。默认将所有参数值都处理为字符串,可以用type=参数转换。
运用argsparse()函数:
1、创建一个解析器
使用 argsparse 的第一步是创建一个 ArgumentParser 对象:
>>> parser = argparse.ArgumentParser(description='Process some integers.')
2、添加参数
给一个 ArgumentParser 添加程序参数信息是通过调用 add_argument() 方法完成的。通常,这些调用指定 ArgumentParser 如何获取命令行字符串并将其转换为对象。这些信息在 parse_args() 调用时被存储和使用。例如:
>>> parser.add_argument('integers', metavar='N', type=int, nargs='+',
... help='an integer for the accumulator')
>>> parser.add_argument('--sum', dest='accumulate', action='store_const',
... const=sum, default=max,
... help='sum the integers (default: find the max)')
3、解析参数
ArgumentParser 通过 parse_args() 方法解析参数。它将检查命令行,把每个参数转换为适当的类型然后调用相应的操作。在大多数情况下,这意味着一个简单的 Namespace 对象将从命令行参数中解析出的属性构建:
>>> parser.parse_args(['--sum', '7', '-1', '42'])
Namespace(accumulate=, integers=[7, -1, 42])
ArgumentParser 对象
创建一个新的 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)
some tips:参数简写
>>>parser.add_argument("-b","--bool",action="store_true")
这样,在程序内部我们依旧使用args.bool,但是在命令行当中我们只需要多写一个“-b”就好了。可变参数表:nargs参数的使用
综合小例子:
>>> parser = argparse.ArgumentParser(description='my_first_blog')
>>>parse.add_argument('-b',
'--at_least_one',
narg='+',
dest='all',
default=[2019],
type=int,
action='',
choice=test_sets.keys()
)
>>>options = parse_args()
>>>print('{ my first value of argsparse is {}}'.farmat(option.all[0]))
解释:外部输入参数短命令-b;外部输入包含多个字符的长命令--at_least_one;以提供的dest参数为名称(namespace)来保存这个值,可用内部命令args.all访问这个值;参数至少一个,默认设置为[2019]的list结构(因为参数不止一个),类型为int型,只能输入choice中的参数;action为参数动作。
官方API:https://docs.python.org/zh-cn/3.7/library/argparse.html?highlight=argparse#module-argparse
引用博客部分内容:https://ganler.github.io/2018/07/18/argsparse-python%E5%92%8C%E5%91%BD%E4%BB%A4%E8%A1%8C%E4%B9%8B%E9%97%B4%E7%9A%84%E4%BA%A4%E4%BA%92/
最后
以上就是隐形板凳为你收集整理的python argsparse_python中的argsparse()函数的全部内容,希望文章能够帮你解决python argsparse_python中的argsparse()函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复