我已經做了很多操作的Python腳本,所以它有很多選項,所以我將它劃分爲也使用父解析器進行常見選項分組的子分析器。如何在argparse中顯示所有子分析器的幫助?
我想要一個幫助選項,將顯示所有命令的幫助與他們的選項,有沒有可能不覆蓋format_help方法?
我看到一個similar question,但分組對我來說並不重要,我只想要那裏的選項。
例如:
general_group = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter,add_help=False)
general_group.add_argument('--threads', action='store_true', default=False)
second_group = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter,add_help=False)
second_group.add_argument('--sleep', action='store', default=60, type=int)
parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
subparsers=parser.add_subparsers(dest='action')
subparsers.add_parser('Restart',parents=[general_group,second_group])
subparsers.add_parser('Start',parents=[general_group])
args = parser.parse_args()
在這種情況下,我想,如果有人運行./script.py -h他們會看到在幫助線程選項。
是否有一個原因,爲什麼你逝去'parents'參數分析器?使用'general_group'作爲「父」(意思是'subparsers = general_group.add_subparsers()')和* not *傳遞'parents = [']''''''時會顯示* --threads'選項./ script.py -h'。 – Bakuriu 2013-02-17 08:39:03
是的,我有3個這樣的團體...... – 2013-02-17 08:53:41
那麼你發佈的不是一個最小的工作示例。發佈一些代碼,顯示你正在嘗試做什麼。 – Bakuriu 2013-02-17 09:44:31