for example:
python foo.py --foo foo --bar bar --args -a 5 --baz 6
--foo
and --bar
are regular arguments, but --args
is special, it should contain list of args after it: [-a, 5, --baz, 6]
.
I remember that something similar exists but I cannot remember how it is called.
Try to use argparse.REMAINDER
:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--foo')
parser.add_argument('--bar')
parser.add_argument('--args', nargs=argparse.REMAINDER)
print(parser.parse_args())
When running python foo.py --foo foo --bar bar --args -a 5 --baz 6
this returns:
Namespace(args=['-a', '5', '--baz', '6'], bar='bar', foo='foo')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With