使用python的argparse,如何使子命令成为必需的参数?我之所以这样做,是因为我想让argparse在没有指定子命令的情况下出错。我重写了error方法以打印帮助。我有3个深度的嵌套子命令,所以这不是简单地在顶层处理零参数的问题。
在下面的示例中,如果这样调用,我会得到:
$./simple.py
$
我想让它做的是让argparse报告没有指定所需的子命令:
import argparse
class MyArgumentParser(argparse.ArgumentParser):
def error(self, message):
self.print_help(sys.stderr)
self.exit(0, '%s: error: %s\n' % (self.prog, message))
def main():
parser = MyArgumentParser(description='Simple example')
subs = parser.add_subparsers()
sub_one = subs.add_parser('one', help='does something')
sub_two = subs.add_parser('two', help='does something else')
parser.parse_args()
if __name__ == '__main__':
main()
https://stackoverflow.com/questions/18282403
复制相似问题