python模块总结(一)命令行解析模块argparse

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,
)<br></br>

执行效果

$ 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']

声明:该文章系转载,转载该文章的目的在于更广泛的传递信息,并不代表本网站赞同其观点,文章内容仅供参考。

本站是一个个人学习和交流平台,网站上部分文章为网站管理员和网友从相关媒体转载而来,并不用于任何商业目的,内容为作者个人观点, 并不代表本网站赞同其观点和对其真实性负责。

我们已经尽可能的对作者和来源进行了通告,但是可能由于能力有限或疏忽,导致作者和来源有误,亦可能您并不期望您的作品在我们的网站上发布。我们为这些问题向您致歉,如果您在我站上发现此类问题,请及时联系我们,我们将根据您的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。