argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数。
本文主要区分add_argument() 中的nargs,const,default。
nargs:设置参数在使用可以提供的个数。
#用法
parser.add_argument('-name', nargs=x)
#含义
x的值 含义
n 参数的绝对个数(例如:3)
'?' 0或1个参数
'*' 0或所有参数
'+' 所有,并且至少一个参数
本文目前只解释nargs='?'的情况,直接看代码。
情况1:有用 - 选项字符串出现且后面紧跟随命令行参数,则产生参数值。
情况2:对于选项,有用 - 选项字符串出现但没有跟随命令行参数,则会产生 const 值。
情况3:如果当前没有命令行参数,则会产生 default 值。
# file-name: test.py
import argparse
def get_parser():
parser = argparse.ArgumentParser(description='nargs demo')
parser.add_argument('--resume', nargs='?', const=True, default=False, help='resume most recent training')
return parser
if __name__ == '__main__':
parser = get_parser()
args = parser.parse_args()
print(args.resume)
情况1:
#终端运行命令
python test.py --resume A
#终端输出
A
情况2:
#终端运行命令
python test.py --resume
#终端输出
True
情况3:
#终端运行命令
python test.py
#终端输出
False