[python3 - package] docopt 命令行参数读取

Function:根据注释中的定义,自动读取命令行中的参数

1.安装 pip install docopt

2. Github地址: https://github.com/docopt/docopt

3. 基本用法

  • API - docopt(__doc__) 主要就一个,差不多算固定用法
  • 返回值 - 以参数为key的字典。
  • 主要内容是写在注释中的,下面两个是必须的参数:
    • Usage - Required
      • 命令行模板
    • Options - Required
      • 可选参数的具体描述
      • 必须和模板中的可选参数一一对应
    • 格式非常重要
      • Usage和Options中间必须有至少一个空行 - 否则会返回整个注释段,而不是命令行中的参数
      • 如果要在Options内,设置可选参数的默认值的话,要保证每个参数前用空格缩进,不能用tab符 - 否则默认值不会生效

4. Sample

'''
Usage:
  test.py <x> <y> [-s=<kn>] [-l|-r]

Options:
  -s=<kn>     Speed [default: 20].
  -l          Left
  -r          Right
'''

from docopt import docopt
if __name__ == '__main__':
    arg = docopt(__doc__)    
    print(arg)

Results:

  • 正确结果

  • Usage和Options中没有空行

 

  • Options中每行缩进不是空格,而是tab

 

posted @ 2018-01-07 15:37  break大蜗牛  阅读(238)  评论(0编辑  收藏  举报