zoukankan      html  css  js  c++  java
  • [Python] Argparse module

    he recommended command-line parsing module in the Python standard library

    1. Basic

    import argparse
    
    parser = argparse.ArgumentParser()
    parser.parse_args()
    

      

    $ python prog.py --help
    usage: prog.py [-h]
    
    optional arguments:
      -h, --help  show this help message and exit
    

      

    display the usefulness of the argparse module

    2. positional argument

    eg

    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument("echo")
    args = parser.parse_args()
    print args.echo
    

      

    result

    $ python prog.py
    usage: prog.py [-h] echo
    prog.py: error: the following arguments are required: echo
    $ python prog.py --help
    usage: prog.py [-h] echo
    
    positional arguments:
      echo
    
    optional arguments:
      -h, --help  show this help message and exit
    $ python prog.py foo
    foo
    

      

    If we want to change the argument into an integer, we can:

    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument("square", help="display a square of a given number",
                        type=int)
    args = parser.parse_args()
    print args.square**2
    

      

    3. optional argument

    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument("--verbosity", help="increase output verbosity")
    args = parser.parse_args()
    if args.verbosity:
        print "verbosity turned on"
    

      

    output

    $ python prog.py --verbosity 1
    verbosity turned on
    $ python prog.py
    $ python prog.py --help
    usage: prog.py [-h] [--verbosity VERBOSITY]
    
    optional arguments:
      -h, --help            show this help message and exit
      --verbosity VERBOSITY
                            increase output verbosity
    $ python prog.py --verbosity
    usage: prog.py [-h] [--verbosity VERBOSITY]
    prog.py: error: argument --verbosity: expected one argument
    

      

    4. short option

    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument("-v", "--verbose", help="increase output verbosity",
                        action="store_true")
    args = parser.parse_args()
    if args.verbose:
        print "verbosity turned on"
    

      

    output

    $ python prog.py -v
    verbosity turned on
    $ python prog.py --help
    usage: prog.py [-h] [-v]
    
    optional arguments:
      -h, --help     show this help message and exit
      -v, --verbose  increase output verbosity
    

      

  • 相关阅读:
    月经贴——.net前景何妨!
    [Asp.net 5] Options-配置文件之后的配置
    [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(5)(IEnumerable<>补充)
    [Asp.net 5] Logging-其他日志系统的实现
    [Asp.net 5] Logging-日志系统的基本架构(下)
    [Asp.net 5] Logging-日志系统的基本架构(上)
    [Asp.net 5] Logging-新日志系统目录
    [Asp.net 5] Localization-简单易用的本地化
    [Asp.net 5] Localization-Asp.net运行时多语言
    java-多线程安全问题
  • 原文地址:https://www.cnblogs.com/KennyRom/p/6354123.html
Copyright © 2011-2022 走看看