一、导入argparse模块
import argparse
python2.7后自带argparse库,直接导入即可
二、创建解析器对象(可以添加参数)
parser = argparse.ArgumentParser()
初始化这个类,可以选择添加参数(不添加也可以)
打开源码看到
prog: 程序的名字(默认为sys.argv[0])
usage: 使用消息 (默认自动从参数中生成)
description: 描述程序用途(help之前信息)
epilog: 结语(help之后信息)
parents: ArgumentParser父辈对象,它的arguments选项会被包含到新ArgumentParser对象中
formatter_class:help信息的输出格式
prefix_chars:参数前缀(默认为’-‘)
fromfile_prefix_chars: 文件名前的前缀字符(默认None)
argument_default: 全局参数的默认值
conflict_handler:指示处理冲突字符串(默认为”error”)
add_help: 显示-h/-help信息 (设置为Falses时不显示)
三、add_argument方法
add_argument方法的说明: 如果该方法没有设置位置参数,或者设置了一个不像可选参数的字符串,则解析为一个位置参数
1. 位置参数
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("echo",help="echo the string")
args=parser.parse_args()
运行结果:
$ python test.py -h
usage: test.py [-h] echo
positional arguments:
echo echo the string
optional arguments:
-h, --help show this help message and exit
2.可选参数
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--output",help="output name")
parser.add_argument("-v","--version",help="print version")
args=parser.parse_args()
运行结果:
$ python test.py -h
usage: test.py [-h] [--output OUTPUT] [-v VERSION]
optional arguments:
-h, --help show this help message and exit
--output OUTPUT output name
-v VERSION, --version VERSION
print version
3. add_argument()常用的参数
3.1 action
默认为store
store_const:值存放在const中
store_true和store_false,值存为True或False
append:将值保存在一个列表中
append_const:将一个定义在参数规格中的值(常量)保存在一个列表中
3.2 default
设置参数的默认值
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-e",default="Init str")
args=parser.parse_args()
print args.e
运行结果:
$ python test.py
Init str
3.3 type
把从命令行输入的结果转成设置的类型
3.4 help
参数命令的介绍
四、解析参数
用parse_args()方法的返回值为namespace
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-e",default="Init str")
args=parser.parse_args()
print args
print args.e
运行结果:
$ python test.py
Namespace(e='Init str')
Init str
便可以处理参数了