Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

argparse: how to get all arguments after specific key?

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.

like image 654
aiven Avatar asked Oct 17 '25 15:10

aiven


1 Answers

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')
like image 194
Daan Klijn Avatar answered Oct 19 '25 04:10

Daan Klijn



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!