📜  Python中的Docopt模块

📅  最后修改于: 2022-05-13 01:54:44.085000             🧑  作者: Mango

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  ...
  
'''

argument:以“<”开头并以“>”结尾的元素称为位置参数。它是位置敏感的。

–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)

输出 :