在我创建了我的参数解析器之后。如何检查解析器是否包含参数规则。这里有一些代码来解释我的意思。
from argparse import ArgumentParser
parser = ArgumentParser()
parser.add_argument('--foo')
parser.add_argument('--bar')
'foo' in parser
# => True
'bar' in parser
# => True
'baz' in parser
# => False
简而言之,我想知道解析器中是否存在参数。
作为我的程序初始化的一部分,我正在加载几个配置文件。如果配置文件中的设置不在解析器中,我想警告用户。
答案 0 :(得分:0)
它有点笨拙,但您可以使用非参数运行parse_args
并提取生成的Namespace
对象的键:
>>> 'foo' in vars(parser.parse_args())
True
>>> 'baz' in vars(parser.parse_args())
False