zoukankan      html  css  js  c++  java
  • 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,
    )

    执行效果

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

  • 相关阅读:
    linux系统中批量对一类文件重命名
    hdu4751 Divide Groups
    tyvj1614 魔塔魔塔!
    noip2012 疫情控制
    黄学长模拟day1 大逃亡
    黄学长模拟day1 球的序列
    黄学长模拟day1 某种密码
    约瑟夫问题及其变形
    秦皇岛 I 题
    暴力搜索 + 剪枝
  • 原文地址:https://www.cnblogs.com/guoxianqi2020/p/13718493.html
Copyright © 2011-2022 走看看