說我已經定義了一些解析器:如何使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