作用:
argparse模块使得编写用户友好的命令行接口非常容易。程序只需定义好它要求的参数,然后argparse将负责如何从sys.argv中解析出这些参数。argparse模块还会自动生成帮助和使用信息并且当用户赋给程序非法的参数时产生错误信息
基本使用:
import argparse
parser=argparse.ArgumentParser()
parser.add_argument("echo",help="echo the string")
args=parser.parse_args()
print args.echo
参数介绍:
根据上面实例进行讲解:
1. 导入argparse模块。
2、创建解析器对象ArgumentParser,可以添加参数,具体什么意思参考官方文档
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)
- description - 参数help之前显示的文本(默认值:none):在help之前显示,界面友好的作用。
- https://docs.python.org/3.5/library/argparse.html?highlight=argumentparser#argparse.ArgumentParser
3、add_argument()方法,用来指定程序需要接受的命令参数
通过调用add_argument()方法向ArgumentParser添加程序的参数信息。通常情况下,这些信息告诉ArgumentParser如何接收命令行上的字符串并将它们转换成对象。这些信息被保存下来并在调用parse_args()时用到
例如:通过type=int对输入的数据进行格式转换。不然格式是string类型
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("square", help="display a square of a given number",
type=int)
args = parser.parse_args()
print args.square**2
通过调用方法来填充有关程序参数的信息。,这些调用告诉如何在命令行上获取字符串并将它们转换为对象。
ArgumentParser.
add_argument
(名称或标志...... [,行动] [,nargs ] [,const ] [,默认] [,类型] [,选项] [,必需] [,帮助] [,metavar ] [,dest ] )
- 名称或标志 - 选项字符串的名称或列表,例如
foo
或。-f, --foo
- action - 在命令行遇到此参数时要采取的基本操作类型。
- nargs - 应该使用的命令行参数的数量。
- const - 某些操作和nargs选择所需的常量值。
- default - 如果命令行中不存在参数,则生成的值。如果命令行中没有出现该参数时的默认值。
- type - 应转换命令行参数的类型。命令行参数应该被转换成的类型。
- choices - 参数允许值的容器。参数可允许的值的一个容器。
- required - 是否可以省略命令行选项(仅限选项)。该命令行选项是否可以省略(只针对可选参数)。
- help - 对参数的作用的简要描述。参数的简短描述。
- metavar - 参数在帮助信息中的名字。。
- dest - 要添加到返回的对象的属性的名称 ,dest - 给parse_args()返回的对象要添加的属性名称。
4. parse_args
ArgumentParser通过parse_args()方法解析参数。