+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2019-08(70)

2019-09(92)

2019-10(6)

2019-11(4)

2019-12(19)

argparse.ArgumentParser()用法简要介绍

发布于2020-10-17 21:00     阅读(581)     评论(0)     点赞(27)     收藏(5)


0

1

2

3

4

5

6

argparse 模块介绍

argparse 模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数,然后 argparse 将弄清如何从 sys.argv 解析出那些参数。 argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。

argparse 模块使用

argparse使用步骤:
1 导入argparse模块: import argparse
2 实例化一个对象: parser=argparse.ArgumentParser()
3 加入参数或选项: parser.add_argument()
4 获取参数: args=parser.parse_args()

1. 创建一个解析器

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

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

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

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

$ python prog.py 1 2 3 4
4

$ python prog.py 1 2 3 4 --sum
10

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

3 add_argument()参数详解

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

先讲下下面粗体字的部分参数;
name or flags -一个命名或者一个选项字符串的列表,例如 foo-f, --foo
action -当参数在命令行中出现时使用的动作基本类型。
nargs -命令行参数应当消耗的数目。
const -被一些actionnargs 选择所需求的常数
default -当参数未在命令行中出现时使用的值
type -命令行参数应当被转换成的类型。
choices -可用的参数的容器。
required -此命令行选项是否可省略(仅选项可用)。
help -一个此选项作用的简单描述。
metavar -在使用方法消息中使用的参数值示例。
dest -被添加到parse_args() 所返回对象上的属性名

原文链接:https://blog.csdn.net/m0_43395719/article/details/109080593

0

1

2

3

4



所属网站分类: 技术文章 > 博客

作者:小胖子爱吃土豆

链接: https://www.pythonheidong.com/blog/article/594623/a18705dd139303a47004/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

27 0
收藏该文
已收藏

评论内容:(最多支持255个字符)