Jagdish Choudhary wrote: > When argument provided from user which doesn't match to right option which > is mentioned in help , it runs without issue..let me provide an example > > https://docs.python.org/3.3/library/argparse.html > > import argparse > parser = argparse.ArgumentParser(description='Process some > integers.')parser.add_argument('integers', metavar='N', type=int, > nargs='+', > help='an integer for the > accumulator')parser.add_argument('--sum', dest='accumulate', > action='store_const', > const=sum, default=max, > help='sum the integers (default: find the max)') > args = parser.parse_args()print(args.accumulate(args.integers)) > > python prog.py -h > usage: prog.py [-h] [--sum] N [N ...] > > Process some integers. > > positional arguments: > N an integer for the accumulator > > optional arguments: > -h, --help show this help message and exit > --sum sum the integers (default: find the max) > > If user run it like below- > > JAGDISHs-MacBook-Pro:test_python jagdish$ python prog.py 12 3 4 --sum > 19 > JAGDISHs-MacBook-Pro:test_python jagdish$ python prog.py 12 3 4 --su > 19 > JAGDISHs-MacBook-Pro:test_python jag
This works as designed: https://docs.python.org/3.3/library/argparse.html#prefix-matching Starting with Python 3.5 you can disable this behaviour with allow_abbrev=False, see https://docs.python.org/3.6/library/argparse.html#allow-abbrev If you think this should have been the default -- I agree. -- https://mail.python.org/mailman/listinfo/python-list