我已经做了很多操作的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