argparse模块parse_args()函数解析

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

你可能感兴趣的:(python)