argparse是可选参数的可选依赖项

3
我需要实现类似以下的功能:

我需要完成以下工作:

./foo.py [-b option [-a]]

使用 argparse。我考虑使用 sub_parsers,但我不知道如何使其正常工作。

就使用 argparse 逻辑来完成它而言,似乎有一个开放式的票据可以实现这个确切的功能:http://bugs.python.org/issue11588 - jdi
1个回答

2
直接的方法是在获取选项的代码中添加规则,如果-a存在而不是b,则抛出错误(并在用户帮助中记录)。您还可以使用usage关键字覆盖使用字符串:http://docs.python.org/dev/library/argparse.html#usage 子解析器很好用,但我认为它们不适合您的需求。它们的用例更像是将许多功能放入单个可执行文件中(例如svn add、svn ci、svn co等)。

我同意。虽然我确信你可以利用argparse的更高级功能,但像你说的那样,这是非常简单的,就像检查数值一样。 - jdi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接