使用docopt()快速构建简单的命令行应用的演示程序
发布时间:2023-12-27 21:28:34
docopt是一个Python库,用于解析命令行参数并自动生成帮助文档。它可以帮助我们快速构建简单的命令行应用。下面是一个使用docopt的演示程序,带有使用例子。
"""MyProgram
Usage:
myprogram add <a> <b>
myprogram subtract <a> <b>
myprogram multiply <a> <b>
myprogram divide <a> <b>
Options:
-h --help Show this screen.
--version Show version.
Examples:
myprogram add 2 3 # output: 5
myprogram subtract 5 2 # output: 3
myprogram multiply 4 6 # output: 24
myprogram divide 10 2 # output: 5
"""
from docopt import docopt
def add(a, b):
return a + b
def subtract(a, b):
return a - b
def multiply(a, b):
return a * b
def divide(a, b):
return a / b
if __name__ == '__main__':
arguments = docopt(__doc__, version='MyProgram 1.0')
if arguments['add']:
result = add(int(arguments['<a>']), int(arguments['<b>']))
print(result)
elif arguments['subtract']:
result = subtract(int(arguments['<a>']), int(arguments['<b>']))
print(result)
elif arguments['multiply']:
result = multiply(int(arguments['<a>']), int(arguments['<b>']))
print(result)
elif arguments['divide']:
result = divide(int(arguments['<a>']), int(arguments['<b>']))
print(result)
运行以上代码,可以使用如下命令行参数测试:
$ python myprogram.py add 2 3 5 $ python myprogram.py subtract 5 2 3 $ python myprogram.py multiply 4 6 24 $ python myprogram.py divide 10 2 5
以上是一个简单的命令行应用程序,它接受两个整数参数,并根据不同的命令执行不同的操作。通过使用docopt,我们可以轻松地定义命令和参数以及生成帮助文档。
