我必须编写一个命令行界面,并且我知道我可以使用docopt
和argparse
。
我想知道两者之间的主要区别是什么,以便我能做出明智的选择。
请坚持事实。我不想要哇哦。文档。好漂亮啊。非常有用。
发布于 2013-12-16 04:49:23
argparse
位于默认的python库中,因此这不会向您的程序添加任何额外的依赖项。不同之处主要在于编写代码的方式。使用argparse
可以为插件添加钩子,这样它们就可以将自己的参数添加到您的程序中。例如,flake8使用以下代码。
docopt
是一个第三方模块,提供了一种解析参数的简单方法。我个人喜欢docopt
因为它的简单性,但我并不是说它在所有情况下都是最好的。在他们的文档中,他们提到与使用argparse
相比,使用docopt
可以使用更多的参数传递组合。
https://stackoverflow.com/questions/20599513
复制相似问题