首页 > 解决方案 > argparse 解析器:覆盖选项

问题描述

我正在使用 pytest 插件 - pytest-html

该插件有一个名为'--self-contained-html'. 我创建了自己的插件,它建立在这个插件之上,并添加了另一个选项。我想要这样,当有人使用我的选项时'--self-contained-html',即使没有提供原件,原件也将设置为 True

基本上,我想从以下位置更改选项:

parser.add_option(
'--self-contained-html',
action='store_true',
defaut=False,
)

 parser.add_option(
'--self-contained-html',
action='store_true',
default=<Check_if_parser_option_X_was_given>,
)

标签: pythonpython-3.xpytestargparse

解决方案


您可以尝试使用以下选项在现有命令行参数中附加 --self-contained-html。在这样做之前,您可以设置一个条件来检查您设置的选项是否存在于现有的命令行列表中论据。

def pytest_cmdline_preparse(config, args):
    if <option_X> in args:
        args.extend(['--self-contained-html'])

推荐阅读