On Tue, Feb 28, 2012 at 1:07 PM, Peter Otten <__pete...@web.de> wrote: > Andrea Crotti wrote: > >> On 02/28/2012 04:02 PM, Peter Otten wrote: >>> 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. >>> >> >> Ah great yes it wasn't actually the same.. >> but why not just use >> if text != SUPPRESS >> instead of: >> if text is not SUPPRESS
Because identity tests are good in these situations where you need to pass a "special" value and anything else could be valid, technically. This is known as a "sentinel" and is a common pattern. > Steven Bethard would have to answer that. > If it were my code I would have used the equality test, but also the correct > symbolic constant... > >> probably the second is more safe, but they are it's still checking >> against a constant that >> is very unlikely to clash with anything.. > > > -- > http://mail.python.org/mailman/listinfo/python-list -- Read my blog! I depend on your acceptance of my opinion! I am interesting! http://techblog.ironfroggy.com/ Follow me if you're into that sort of thing: http://www.twitter.com/ironfroggy -- http://mail.python.org/mailman/listinfo/python-list