I have command line argument -S as defined below
import argparse
parser = argparse.ArgumentParser()
parser.add_argument(
'-S',
'--save',
action='store_true',
help='Save to directory'
)
but if I use -SS instead of -S, python doesn’t throw any error. I want invalid argument error. Can anybody tell me how to achieve this?
Advertisement
Answer
You need to use allow_abbrev=False in argparse.ArgumentParse
import argparse
parser = argparse.ArgumentParser(allow_abbrev=False)
parser.add_argument('-S',action='store_true',help='Save to directory')
parser.parse_args()
Output:
user@localhost:/tmp$ python3 temp.py -S user@localhost:/tmp$ python3 temp.py -SS usage: temp.py [-h] [-S] temp.py: error: unrecognized arguments: -SS
Error is raised when it is called with -SS