docopt 的基本示例

docopt 将命令行参数解析为其头部。你只需编写程序的用法字符串,而不是解析参数,docopt 会解析用法字符串并使用它来提取命令行参数。

"""
Usage:
    script_name.py [-a] [-b] <path>

Options:
    -a            Print all the things.
    -b            Get more bees into the path.
"""
from docopt import docopt

if __name__ == "__main__":
    args = docopt(__doc__)
    import pprint; pprint.pprint(args)

样品运行:

$ python script_name.py
Usage:
    script_name.py [-a] [-b] <path>
$ python script_name.py something
{'-a': False,
 '-b': False,
 '<path>': 'something'}
$ python script_name.py something -a
{'-a': True,
 '-b': False,
 '<path>': 'something'}
$ python script_name.py -b something -a
{'-a': True,
 '-b': True,
 '<path>': 'something'}