说我已经定义了一些解析器:如何使argparse解析器也可作为subparsers
foo_parser = argparse.ArgumentParser()
foo_parser.add_argument('-f')
bar_parser = argparse.ArgumentParser()
bar_parser.add_argument('-b')
现在我想那些解析器出现subparsers。
parser = argparse.ArgumentParser(prog='parent')
subparsers = parser.add_subparsers()
subparsers.add_parser('foo') # how can I associate these subparsers
subparsers.add_parser('bar') # with my foo and bar parsers already defined?
我知道我可以通过重复所有add_argument调用做到这一点,但我希望有一个解燥。
argparse是否允许这样做,还是必须重新定义我的子分析器?
我问的原因是,我收集了一些我不想跟踪的独立脚本,但我也想通过sub-commands提供一个统一的界面。我想从每个独立脚本中导入解析器,并使它们在统一界面中充当子分析器。
您可以在单独的方法中添加参数,然后重新使用或从该方法派生。 – Muposat