suppressing argparse arguments in the help

Peter Otten __peter__ at
Tue Feb 28 11:02:24 EST 2012

Andrea Crotti wrote:

> I have a script that might be used interactively but also has some
> arguments that
> should not be used by "normal" users.
> So I just want to suppress them from the help.
> I've read somewhere that the help=SUPPRESS should do what I want:
>      parser.add_argument('-n', '--test_only',
>                          action='store_true',
>                          help=SUPPRESS)
> but that's what I get from "myapp -h", which is not exactly what I was
> looking for..
>    -f, --first_level     ==SUPPRESS== (default: False)
>    --never_redevelop     ==SUPPRESS== (default: False)
> Any other solutions?

That shouldn't happen. Did you reload() somewhere?
argparse tests object identity not equality with SUPPRESS, so you have to 
ensure that SUPPRESS stems from the same instance of the argparse module as 
your ArgumentParser.

More information about the Python-list mailing list