1-引入模块
import argparse
2-建立解析对象
parser = argparse.ArgumentParser()
3-增加属性:给xx实例增加一个aa属性 # xx.add_argument(“aa”)
parser.add_argument(“echo”)
4-属性给与args实例: 把parser中设置的所有"add_argument"给返回到args子类实例当中, 那么parser中增加的属性内容都会在args实例中,使用即可。
args = parser.parse_args()
补充说明:
在 add_argument 前,给属性名之前加上“- -”,就能将之变为可选参数。
parser.add_argument("–bool",help = “Whether to pirnt sth.”)
参数action:
ction = “store_true” 默认操作True :
特例:
parser.add_argument(’-c’, action=‘store_true’, default=false)
#python test.py -c => c是true(因为action)
#python test.py => c是false(default)
参数nargs:
正则表达式的规则-参数个数:
nargs=’*’ 表示参数可设置零个或多个
nargs=’ ‘+’ 表示参数可设置一个或多个
nargs=’?’ 表示参数可设置零个或一个
参数候选值choice
使用choise关键参数,可以限定这个参数的值必须在候选的列表内。
import argparse
parser = argparse.ArgumentParser(description=‘解析命令行参数’)
parser.add_argument(‘echo’, choices=[‘a’, ‘b’, ‘c’], default=‘a’, nargs=’?’)
args = parser.parse_args()
print(args.echo, type(args.echo)) # 获取参数,打印出来
print(args) # 看看整个的内容
例子
parser.add_argument('--algo', help='algorithm',
choices=['DQN', 'Double', 'Dueling','DuelingDouble'],
default='DQN')