首页 > 编程语言 > 详细

python-argparse模块

时间:2021-05-26 00:56:19      阅读:13      评论:0      收藏:0      [点我收藏+]

argparse模块可以让人编写命令行接口

 下面这个python程序,可以获取一个整数列表并计算总和或者最大值,下面将用这个例子来讲解argparse模块

import argparse

parser = argparse.ArgumentParser(description=Process some integers.)
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))

args = parser.parse_args()
print(args.accumulate(args.integers))

1.创建一个解析器

  使用argparse的第一步使创建一个ArgumentParser对象

  ArgumentParser对象包括将命令行接解析成python数据类型所需的信息

 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))

稍后,调用parse_arges()将返回一个具有integers和accumulate两个属性的对象。integers属性将是一个包含了一个或者多个整数的列表,accumulate属性,当命令行中指定了--sum参数时将是sum()函数,否则默认时max()函数。

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中确定命令行参数。

 

ArgumentParser对象

ArgumentParser(prog=none,usage=none,description=none,epilog=none,parents=[],formatter_class=argparse.HelpFormatter,prefinx_chars=‘-‘,fromfile_prefix_chars=none, argument_default=None,conflict_handler=‘error‘add_help=Trueallow_abbrev=Trueexit_on_error=True

 

prog:程序的名称

usage:描述程序用途的字符串

description:在参数帮助文档之前显示的文本

epilog:在参数帮助文档之后显示的文本

parents:一个ArgumentParsent对象的列表,它的参数也应包含在内

formatter_class:用于自定义帮助文档输出格式的类

prefix_chars:可选参数的前缀字符集合(默认值:‘-‘)

add_help:为函数添加一个-h选项

exit_on_error:决定错误发生时,是否让ArgumentParser附带错误信息退出

 

python-argparse模块

原文:https://www.cnblogs.com/wcacr/p/14810561.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!