Python中的Docopt模块
Docopt是一个命令行界面描述模块。它可以帮助您为命令行应用程序定义一个接口并为其生成解析器。 docopt中的界面消息是一个形式化的帮助消息。
安装
您可以通过多种方式安装 docopt 模块,pip 是安装 docopt 的最佳方式之一。
$pip install docopt
注意: docopt也使用Python 2.5、2.6、2.7、3.2、3.3 和 PyPy 进行了测试。
初始化
docopt最常用于显示帮助消息,它通过 -h 或 –help 选项调用。您可以使用以下命令导入和调用此模块。
from docopt import docopt
docopt(doc, argv = None, version = None,
help = True, options = False)
模块参数如下图:
- doc :它是一个包含帮助信息的文档字符串 (__doc__)。
- argv:它是一个可选的参数向量,包含字符串列表。
- version :它是一个可选参数,提及程序的版本。
- help :负责显示帮助信息。默认为真。
- options_first :这不允许混合位置参数和可选参数。默认情况下为 False。
使用模式
docopt为您提供对帮助页面的强大控制,它包含不区分大小写的用法关键字,后跟您的程序名称。可以使用如下所述的各种元素来描述使用模式:
usage =
'''
Usage :
program_name.py command --option
program_name.py [optional argument]
program_name.py --another-option =
program_name.py (--option1 | --option2 )
program_name.py ...
'''
–option -o:以“–”或“-”开头的元素称为长选项或短选项。它可以被称为--option
或-o
。
-h, --help Display help
-o, --option Display options
-l, --all List all
-q, --quit exit
--version Version 3.6.1
[可选参数]:以“[”开头并以“]”结尾的元素称为可选参数。它被认为是可选的。
(必填参数):以“(”开头并以“)”结尾的元素是必需元素。 (--option1 | --option2)
表示需要–option1 或–option2。
例子 :
# filename ='docopt_example.py"
usage ='''
Usage:
docopt_example.py [(|)] ...
docopt_example.py mov
docopt_example.py (--h|--q) [ -l]
docopt_example.py --version
Options:
-l, --all List all.
-q, --quit exit.
--version Version 3.6.1
-h --help Show this screen.
--version Show version.
--speed = Speed in knots [default: 10].
--moored Moored (anchored) mine.
--drifting Drifting mine.
'''
from docopt import docopt
args = docopt(usage)
print(args)
输出 :