Python ConfigArgParse使用默认config.ini抛出无法识别的参数

Python ConfigArgParse使用默认config.ini抛出无法识别的参数,python,argparse,Python,Argparse,据我所知,使用,我可以在程序的config.ini文件中设置最主要的配置,并通过命令行使其中一些选项可用。但是,当我在构造函数中将config.ini文件设置为默认值时,会出现以下错误: main.py: error: unrecognized arguments: --input_base data 其中--input_base是我的解析器中未包含的唯一配置,如下所示: parser = ArgParser(default_config_files=['config.ini']) parse

据我所知,使用,我可以在程序的config.ini文件中设置最主要的配置,并通过命令行使其中一些选项可用。但是,当我在构造函数中将config.ini文件设置为默认值时,会出现以下错误:

main.py: error: unrecognized arguments: --input_base data
其中--input_base是我的解析器中未包含的唯一配置,如下所示:

parser = ArgParser(default_config_files=['config.ini'])
parser.add_argument('-out', '--output_base', type=str, help='xyz')
parser.add_argument('--amount', type=int, help='xyz')
parser.add_argument('--num_jobs', help='xyz')
parser.add_argument('--batch_size', type=int, help='xyz')
parser.add_argument('--queue_size', type=int, help='xyz')
parser.add_argument('--kind', choices={'long', 'short', 'both'}, help='xyz')
parser.add_argument('--level', choices={'DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'}, help='xyz')
config = parser.parse_args()
仅使用config.ini工作正常,但由于可用性,我还必须包括命令行参数


谢谢你的帮助。谢谢你

尝试将最后一行更改为:

config, unknown = parser.parse_known_args()
这将只解析已知参数(忽略所有未知参数)


就像这个问题一样:

您的命令行是什么?我不知道
ConfigArgParse
argparse
添加了什么,但很明显,“无法识别的参数”在解析器试图解析的
sys.argv
列表中。你能不能再多告诉我一点你的意思?未知参数来自第一行中提到的
config.ini
文件,
parser=…
。但是,我不知道如何正确访问这些。太好了,谢谢!我想这就是我要找的。是否有任何方法可以优雅地访问这些参数,就像我可以用
config
config.arg
中的参数那样?PS:很抱歉回复得太晚了,我被其他的东西缠住了。现在知道的只是简单的字符串列表。您可以这样使用它,例如:
if'--unknown'在unknown:
中。但是没有其他方法,因为只有已知的参数(提供规则,如何处理参数)才可能进行处理