argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数
import argparse parser = argparse.ArgumentParser(description="Demo of argparse") # parser.add_argument("--name",default="kan") # 默认值,当没有指定--name参数时,默认值为:kan parser.add_argument("--name",required=True,help="Name of the user") # required=True,指定必须具备此参数,--name,否则报错 parser.add_argument("-arch",required=True,choices=["alexnet","vgg"]) # choices=[],指定此参数可使用的参数值 parser.add_argument("--names",required=True,nargs='+') # 设置参数在使用可以提供的个数 # '?' 0或1个参数 # '*' 0或所有参数 # '+' 所有,并且至少一个参数 args = parser.parse_args() name = args.name names = args.names arch = args.arch print "hello {name},arch:{arch},names:{names}".format( name=name, arch=arch, names=names, )
执行效果
$ python test.py -h usage: test.py [-h] --name NAME -arch {alexnet,vgg} --names NAMES [NAMES ...] Demo of argparse optional arguments: -h, --help show this help message and exit --name NAME Name of the user -arch {alexnet,vgg} --names NAMES [NAMES ...] $ python test.py --name kan -arch vgg --names a b c d hello kan,arch:vgg,names:['a', 'b', 'c', 'd']