Disable abbreviation in argparse

argparse, python

Solution

As of Python 3.5.0 you can disable abbreviations by initiating the ArgumentParser with the following:

parser = argparse.ArgumentParser(allow_abbrev=False)

Also see the documentation.

Problem

argparse uses per default abbreviation in unambiguous cases. I don't want abbreviation and I'd like to disable it. But didn't find it in the documentation. Is it possible? Example: ``` import argparse parser = argparse.ArgumentParser() parser.add_argument('--send', action='store_true') parser.parse_args(['--se']) # returns Namespace(send=True) ``` But I want it only to be true when the full parameter is supplied. To prevent user errors. UPDATE: I created a ticket at python bugtracker after Vikas answer. And it already has been processed.

Original source