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)
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
具体参考:https://docs.python.org/3.5/library/argparse.html?highlight=argumentparser#argparse.ArgumentParser.add_argument
4. parse_args
ArgumentParser通过parse_args()方法解析参数。