I could use argparse to add command line arguments in the form of
-i <INPUT>
or--input <INPUT>
.I want to instead have the command be in the form of input=<INPUT>
.
What I currently have:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-i', '--input', help = "Input is a required field", required = True)
When I change '--input'
to 'input='
it doesn't work.
How to specify the format so that 'input=' followed by the input string can be given as valid command line argument?
You don't need to explicitly ask for support of =
. It should just work.
>>> import argparse
>>>
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('-i', '--input', help = "Input is a required field", required = True)
_StoreAction(option_strings=['-i', '--input'], dest='input', nargs=None, const=None, default=None, type=None, choices=None, required=True, help='Input is a required field', metavar=None)
>>> parser.parse_args(['--input=foobar'])
Namespace(input='foobar')
>>>
If you want to get rid of the double dashes too, you may have to write your own argument parsing code. I don't see any documentation suggesting it's supported. You can replace dash with something else using prefix_chars, but you can't completely get rid of it.