Command Line Options

Positional Command Line Arguments

Positional command line arguments are supported via a ‘positional’ Opt constructor argument:

>>> conf = cfg.ConfigOpts()
>>> conf.register_cli_opt(cfg.MultiStrOpt('bar', positional=True))
>>> conf(['a', 'b'])
['a', 'b']

By default, positional arguments are also required. You may opt-out of this behavior by setting required=False, to have an optional positional argument.


It is also possible to use argparse “sub-parsers” to parse additional command line arguments using the SubCommandOpt class:

>>> def add_parsers(subparsers):
...     list_action = subparsers.add_parser('list')
...     list_action.add_argument('id')
>>> conf = cfg.ConfigOpts()
>>> conf.register_cli_opt(cfg.SubCommandOpt('action', handler=add_parsers))
>>> conf(args=['list', '10'])
('list', '10')