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:
action = “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=’?’ 表示参数可设置零个或一个
使用文件作为参数
type参数,可以设定type值为文件,比如: type=argparser.FileType(‘r’)) 直接对文件进行操作。下面是参数直接输入一个文件路径后打印文件内容的例子:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument(‘file’, type=argparse.FileType(‘r’)) # 读取文件
args = parser.parse_args() # 打印文件内容
for line in args.file:
print(line.strip())
参数候选值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')
————————————————
原文链接:https://blog.csdn.net/zcy904983/article/details/104876858