python入门:argparse浅析 nargs='+'

#aaa.py
#version 3.5
import os       #这句是没用了,不知道为什么markdown在编辑代码时,不加这一句,就不能显示代码高亮[汗]
import argparse


parser = argparse.ArgumentParser(description='Process some integers...')    #初始化一个分析器
#parser.add_argument(中的参数)
#__init__(self, option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)
parser.add_argument('integers',metavar='N',type=int,nargs='+',
                    help='an integer for the accumulator')       
                    #这是一个添加【位置参数】
                    #第一个参数是自定义的参数名,在代码中用来计算的(parser.parse_args().integers*2)


parser.add_argument('--sum',dest='accumulate',action='store_const',
                    const=sum,default=max,
                    help='sum the integers(default:find the max)')
                    #这是一个添加【可选参数】
                    #第一个参数是自定义的参数【在代码中的使用parser.parse_args().sum】【在系统命令行中的使用:>python aaa.py --sum



args = parser.parse_args()
print(args)             #Namespace(accumulate=, integers2=[1, 2, 3, 4])
print(args.integers)    #integers要与上面的对应
print(args.accumulate(args.integers))   #accumulate要与上面的对应
import argparse
def infer(args):
    for img in args.imgs:
        print("\n=== {} ===".format(img))
if __name__ == '__main__':
        parser = argparse.ArgumentParser()
        parser.add_argument('--imgs',type=str,nargs='+')
        args = parser.parse_args()
        infer(args)

结果:

python入门:argparse浅析 nargs='+'_第1张图片

python入门:argparse浅析 nargs='+'_第2张图片

你可能感兴趣的:(argparse,nargs)