美文网首页
了解学习argparse模块

了解学习argparse模块

作者: 空白_J | 来源:发表于2017-10-20 11:12 被阅读0次

转自http://blog.csdn.net/itlance_ouyang/article/details/52489674

argparse模块使得编写用户友好的命令行接口非常容易。程序只需定义好它要求的参数,然后argparse将负责如何从sys.srgv中解析出这些参数。Argparse模块还会自动生成帮助和使用信息并且当用户付给程序非法的参数时产生错误信息。

使用argparse模块一般需要三个步骤:

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

parser= argparse.ArgumentParser()

ArgumentParser对象会保存把命令行解析成Python数据类型所需要的所有信息。

  1. 添加参数
    通过调用add_argument()方法向ArgumentParser添加程序的参数信息。通常情况下,这些信息告诉ArgumentParser如何接收命令行上的字符串并将它们转换成对象。这些信息被保存下来并在调用parse_args()时用到。例如:

parser.add_argument('--name', help='username')
parser.add_argument('--pass', help='password ')

接下来,调用parse_args()返回的对象将带有两个属性,name和pass。分别保存着用户名与密码。

  1. 解析参数
    ArgumentParser通过parse_args()方法解析参数。它将检查命令行,把每个参数转换成恰当的类型并采取恰当的动作。在大部分情况下,这意味着将从命令行中解析出来的属性建立一个简单的 Namespace对象。

argments = parser.parse_args(['--name','li','--pass','si'])

在脚本中,[parse_args()] 调用一般不带参数,[ArgumentParser]将根据[sys.argv]自动确定命令行参数。

ArgumentParser 对象
class 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)
创建一个新的argmentParserr对象。所有的参数应该以关键字参数传递。下面有对每个参数各自详细的描述,但是简短地讲它们是:
prog - 程序的名字(默认:sys.argv[0])
useage - 描述程序用法的字符串(默认:从解析器的参数生成)
description - 参数帮助信息之前的文本(默认:空)
epilog- 参数帮助信息之后的文本(默认:空)
parents - ArgmentParser 对象的一个列表,这些对象的参数应该包括进去
ormatter_class - 定制化帮助信息的类
prefix_chars - 可选参数的前缀字符集(默认:‘-‘)
fromfile_prefix_chars - 额外的参数应该读取的文件的前缀字符集(默认:None)
argument_default - 参数的全局默认值(默认:None)
conflict_handler - 解决冲突的可选参数的策略(通常没有必要)
add_help - 给解析器添加-h/–help 选项(默认:True)

add_argument() 方法
ArgumentParser.add_argument(nameor flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][,metavar][, dest])
定义应该如何解析一个命令行参数。下面每个参数有它们自己详细的描述,简单地讲它们是:
name or flags- 选项字符串的名字或者列表,例如foo 或者-f, --foo。
action - 在命令行遇到该参数时采取的基本动作类型。
nargs - 应该读取的命令行参数数目。
const- 某些action和nargs选项要求的常数值。
default - 如果命令行中没有出现该参数时的默认值。
type- 命令行参数应该被转换成的类型。
choices - 参数可允许的值的一个容器。
required - 该命令行选项是否可以省略(只针对可选参数)。
help - 参数的简短描述。
metavar - 参数在帮助信息中的名字。
dest - 给parse_args()返回的对象要添加的属性名称。

参考链接:
getopt英文类库:https://docs.python.org/2/library/getopt.html
argparse英文类库:https://docs.python.org/2/library/argparse.html

相关文章

  • 了解学习argparse模块

    转自http://blog.csdn.net/itlance_ouyang/article/details/524...

  • python的argparse模块

    阅读论文的时候遇到了argparse模块,简单介绍一下它的作用和用法,以便日后学习。 argparse模块是pyt...

  • Python: import argparse模块

    什么是argparse模块? argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块,通...

  • python Argparse模块的使用

    python Argparse模块的使用 标签:python 参考: Argparse Tutorial:http...

  • python argparse 用法总结

    import argparse:首先导入模块 parser = argparse.ArgumentParser(d...

  • python 第八节

    一、标准库Argparse模块 Argparse 是一个 python 模块,借助该模块,我们可以轻松地为命令行参...

  • 学习pyhton: argparse模块

    简介 当遇到需要参数的情况时,往往有以下三种处理方法[1]:直接给定这种方法实现起来方便,但是灵活性稍差,每次都需...

  • Python的Argparse模块使用方法

    Python之Argparse模块 argparse模块可以轻松编写用户友好的命令行接口。程序定义它需要的参数,然...

  • argparse模块

    argparse库是用来管理命令行参数 参考资料:argparse模块官方文档

  • Python完成知乎专栏文章转TXT

    开发工具 Python版本:3.6.4 相关模块: pdfkit模块; argparse模块; requests模...

网友评论

      本文标题:了解学习argparse模块

      本文链接:https://www.haomeiwen.com/subject/gwwmuxtx.html