python 参数解析 —— argsparse

argsparse 解析命令行参数,一些常用参数整理。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import argparse

parser = argparse.ArgumentParser(# prog=__file__, # 设置项目名称,__file__ 与 sys.argv[0] 一致,默认显示为 basename(__file__)
usage='''
python %(prog)s [option] ''', # 设置脚本输出默认 USAGE 信息
description=''' some script description ''', # 脚本功能描述等等
formatter_class=argparse.RawTextHelpFormatter, # 以脚本内原始文档格式输出描述等信息
epilog='''
Note and input example, and so on. ''') # 脚本描述以外的其他信息

parser.add_argument('-v', '--version', # 添加脚本版本信息参数
action='version',
version='%(prog)s 2.0')

# 添加一个普通的可选参数
parser.add_argument('-e', # 短参数
'--example', # 长参数
dest='example', # 参数对应模块内部,唯一标识符
metavar='', # 设置help信息中参数后字符
action='store', # 参数处理方式
type=str, # 传入参数类型
choices=['a', 'b', 'c'], # 参数选择范围
required=True, # 表示该参数必须被设置
default='a', # 参数缺省时,该参数默认值
nargs='+', # 参数个数,*+?,表示至少一个输入
help='some help infor') # help信息
# action属性为store_true, store_false, store_const时,参数不接任何输入信息
parser.add_argument('--sum',
dest='accumulate',
action='store_const', # 该参数被设置时,参数取值成 const 对应值
const=sum,
default=max,
help='sum the integers (default: find the max)')
# 位置参数
parser.add_argument('pos',
dest='pos_argument',
metavar='',
nargs='+', # 参数输入文件个数
help='some help infor')

# 互斥参数组,组内参数不可同时出现,required=True表示组内必须有参数被设置
exclusive = parser.add_mutually_exclusive_group(required=True)
exclusive.add_argument('-a', )
exclusive.add_argument('-b', )

# 设置多个参数为一组,无实际意义,仅在打印help信息时,分组显示
group = parser.add_argument_group('argument group info')
group.add_argument('-c', )
group.add_argument('-d', )

# parse.print_help()
args = parser.parse_args() # 参数解析,生成可调用对象

example = args.example
# ...
---------本文结束,感谢您的阅读---------