Пример #1
0
def remove_arg(ap: argparse.ArgumentParser,
               option: str) -> argparse.ArgumentParser:
    """
    Removes an argument from an `ArgumentParser`.

    Note: uses a non-public behavior of the `argparse` API.
    """
    ap = copy.deepcopy(ap)
    action = list(filter(lambda a: option in a.option_strings, ap._actions))[0]
    ap._handle_conflict_resolve(None,
                                [(option, action)])  # type: ignore[arg-type]
    return ap