• python之命令行解析工具argparse


    以前写python的时候都会自己在文件开头写一个usgae函数,用来加上各种注释,给用这个脚本的人提供帮助文档。

    今天才知道原来python已经有一个自带的命令行解析工具argparse,用了一下,效果还不错。

    argparse的官方文档请看 https://docs.python.org/2/howto/argparse.html#id1

    from argparse import ArgumentParser
    
    p = ArgumentParser(usage='it is usage tip', description='this is a test')
    p.add_argument('--one', default=1, type=int,  help='the first argument')
    args = p.parse_args()
    print args

    运行这个脚本test.py.

    python test.py -h

    输出:

    usage: it is usage tip

    this is a test

    optional arguments:
      -h, --help  show this help message and exit
      --one ONE   the first argument

    python test.py --one  8

     输出:

     Namespace(one=8)

    可以看到argparse自动给程序加上了-h的选项,最后p.parse_args()得到的是你运行脚本时输入的参数。

    如果我们需要用这些参数要怎么办呢,可以通过vars()转换把Namespace转换成dict。

    from argparse import ArgumentParser
    
    p = ArgumentParser(usage='it is usage tip', description='this is a test')
    p.add_argument('--one', default=1, type=int,  help='the first argument')
    p.add_argument('--two', default='hello', type=str, help='the second argument')
    
    args = p.parse_args()
    print args
    mydict = vars(args)
    print mydict
    print mydict['two']

    运行test.py.

    python test.py --one 8  --two good

    输出:

    Namespace(one=8, two='good')
    {'two': 'good', 'one': 8}
    good

  • 相关阅读:
    结构化思考力
    对象序列化解析
    单元测试的规范
    关于CefSharp的坎坷之路
    构建基于Chromium的应用程序
    C# 面向切面编程(AOP)--监控日志记录方案
    CefSharp 中断点 已达到中断点
    用批处理命令实现激活office2016
    Winform开发中的困境及解决方案
    VUE+Element 前端应用开发框架功能介绍
  • 原文地址:https://www.cnblogs.com/streakingBird/p/3928756.html
Copyright © 2020-2023  润新知