python中argpase参数解析使用
一、简介
在python中,可以使用argpase进行参数解析,这里对其介绍。
二、知识点
2.1 参考文档地址
https://docs.python.org/3.5/library/argparse.html?highlight=argumentparser#
2.2 常用语句
- 生成解析器:parser = argparse.ArgumentParser()
- 添加子解析器:subparser = pparser.add_subparsers
- 添加子解析器指定命令的参数解析器:add_parser = subparser.add_parser(‘command’)
- 添加参数:parser.add_argument
- 参数解析:parser.parse_args()
- 设置执行函数: parser.set_defaults(function=xx)
2.3 add_argument使用
parser.add_argument用于添加参数,内常用参数有:
-
action:指定参数对应的行为,默认为存储参数值,即store,其它还有:
- store:存储参数值,默认行为, 如:parser.add_argument("-k1"), 输出:Namespace(k1=‘v1’
- store_const:存储const指定值
- append: 可多次使用,结果值为列表
- append_const: 可多次使用,添加const指定的常量到列表,结果值为列表
- store_true: 有值时保存为True
- store_false: 有值时保存为False
- count:统计参数个数
- version:输出版本信息后退出
-
default:默认值
-
nargs:参数个数,可以是具体数字,也可以是*(表示0个或多个)或+(表示1个或多个)或?(0个或1个)
-
choice: 参数允许的值,如:[‘a’, ‘b’, ‘c’]
-
require:是否必需
-
type:参数类型,如:str、int
-
dest:参数返回名称
三、使用示例
#! /usr/bin/env python
# -*- coding:utf8 -*-
import argparse
#常规参数解析
def normal_argparse():
parser = argparse.ArgumentParser(description='脚本描述', usage='脚本用法', add_help=True)
parser.add_argument('-k', '--k1', type=str, default='vOne', required=False,
help='参数描述,参数名为-k(简写形式)或--k1,参数类型为str,默认值为vOne,参数为非必填')
parser.add_argument('--k2', type=str, default='a', required=False, dest='keyTwo', choices=['a', 'b', 'c'