bal*_*men 20 python command-line-arguments argparse docopt
我必须编写一个命令行界面,我已经看到我可以使用docopt和argparse.
我想知道两者之间的主要区别是什么,这样我才能做出明智的选择.
请坚持事实.我不想哇.docopt.如此美丽.很有用.
rei*_*eer 14
Docopt解析doc字符串,而argparse通过创建对象实例并通过函数调用向其添加行为来构造其解析.
argparse的示例:
parser = argparse.ArgumentParser()
parser.add_argument("operation", help="mathematical operation that will be performed",
choices=['add', 'subtract', 'multiply', 'divide'])
parser.add_argument("num1", help="the first number", type=int)
parser.add_argument("num2", help="the second number", type=int)
args = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)
docopt的示例:
"""Calculator using docopt
Usage:
calc_docopt.py <operation> <num1> <num2>
calc_docopt.py (-h | --help)
Arguments:
<operation> Math Operation
<num1> First Number
<num2> Second Number
Options:
-h, --help Show this screen.
"""
from docopt import docopt
if __name__ == '__main__':
arguments = docopt(__doc__, version='Calculator with docopt')
print(arguments)
Run Code Online (Sandbox Code Playgroud)
请注意,docopt使用Usage:和Options:部分进行解析.这里Arguments:仅提供最终用户的便利.
该为什么页面点击:
https://click.palletsprojects.com/en/7.x/why/
在argparse,docopt和click本身之间有很好的比较。
Click 是另一个用于Python的命令行解析实用程序。
| 归档时间: |
|
| 查看次数: |
4476 次 |
| 最近记录: |