在argparse.ArgumentParser中建立所需的组

问题描述 投票:0回答:1

我想知道是否有一个RequiredGroup类,以确保在ArgumentParse.parse_known_args期间提供了[[至少一个动作。我的意思是,与ArgumentParse.parse_known_args相对,当提供_MutuallyExclusiveGroup自变量时允许至多一个动作,这里的目标是一个至少一个>]组我的想法是扩展required=True类,使其处理与ArgumentParser相似。但是,它是使用方法内部构造的一些变量完成的,这些变量在其后不可用。

这里是处理参考组动作的互斥性的方法的摘录:

_MutuallyExclusiveGroup

由于# make sure all required groups had one option present
        for group in self._mutually_exclusive_groups:
            if group.required:
                for action in group._group_actions:
                    if action in seen_non_default_actions:
                        break

                # if no actions were used, report the error
                else:
                    names = [_get_action_name(action)
                             for action in group._group_actions
                             if action.help is not SUPPRESS]
                    msg = _('one of the arguments %s is required')
                    self.error(msg % ' '.join(names))
属性在课程中不可用,所以我不知道如何实现此目标。

有关如何解决它的一些线索?

我想知道是否有RequiredGroup类在ArgumentParse.parse_known_args期间确保提供了至少一个动作。我的意思是,反对_MutuallyExclusiveGroup,允许...

python python-3.x parsing arguments argparse
1个回答
0
投票
我根据建议的seen_non_default_actionshpaulj获得了一个解决方案。
© www.soinside.com 2019 - 2024. All rights reserved.