argclz.core.var_argument#

argclz.core.var_argument(option: str, validator: Callable[[T], bool] = None, *, nargs: Literal['*', '+', '?', '...'] = '*', action: Literal['store', 'store_const', 'store_true', 'store_false', 'append', 'append_const', 'extend', 'count', 'help', 'version', 'boolean'] = 'extend', type: Type | Callable[[str], T] = ..., help: str = ...) list[T][source]#

create a variable-length positional argument, suitable for capturing multiple values into a list.

Usage

>>> class Example:
...     a: list[str] = var_argument('A')

shorten for argument(metavar=option, nargs='*', action='extend', validator=validator, **kwargs) by default.

Parameters:
  • option – The name for the vary-length positional argument shown in usage messages

  • validator – value validator with signature (T) -> bool.

  • nargs – number of following values. Please see argparse.ArgumentParser.add_argument(nargs) for detailed.

  • action – argument action. Please see argparse.ArgumentParser.add_argument(action) for detailed.

  • type – type caster with signature (str) -> T. Please see argparse.ArgumentParser.add_argument(type) for detailed.

  • help – help document for this argument.