Docopt - CLI description language

查看原文

Docopt 是一款用来编写命令行工具的库,与其写一堆 parse("--option") 代码,不如直接写出漂漂亮亮的文档来,然后根据这个文档来自动生成解析命令行参数的代码。这个库可以让你用写代码文档的方式定义接口,可读性提高了很多。

"""Naval Fate.

Usage:
  naval_fate.py ship new <name>...
  naval_fate.py ship <name> move <x> <y> [--speed=<kn>]
  naval_fate.py ship shoot <x> <y>
  naval_fate.py mine (set|remove) <x> <y> [--moored | --drifting]
  naval_fate.py (-h | --help)
  naval_fate.py --version

Options:
  -h --help     Show this screen.
  --version     Show version.
  --speed=<kn>  Speed in knots [default: 10].
  --moored      Moored (anchored) mine.
  --drifting    Drifting mine.

"""
from docopt import docopt


if __name__ == '__main__':
    arguments = docopt(__doc__, version='Naval Fate 2.0')
    print(arguments)