[EMAIL PROTECTED] wrote: > > No, that affects the string printed only *after* the "usage = " string. > > What I would like to do is insert some string *before* the "usage = " > > string, which is right after the command I type at the command prompt. > > So I would like to make it look like this: > > The example was fine (except for a typo) as far as demonstrating the > concept. Try this corrected version: > > from optparse import OptionParser > > usage = '************ THIS IS NEWLY INSERTED STRING > ************\nusage: %prog [options] input_file' > parser = OptionParser(usage=usage) > parser.print_help()
Nope. That only *nearly* does what T wants. The usage message will still be printed immediately *after* the 'usage: ' string. >>> parser = OptionParser(usage=usage) >>> parser.print_help() usage: ************ THIS IS NEWLY INSERTED STRING************ usage: lopts.py [options] input_file options: -h, --help show this help message and exit I had the same problem, and in order to get something printed before the usage message, I found one easy-ish way was to subclass the Formatter passed in to the Parser. IMHO, optparse does a tricky task well, but it's implemented in a hard to follow, inflexible manner. My "favorite" pet peeve is that the options "dictionary" it returns isn't a dict. I wound up doing this to it to get something [I considered] useful: o, a = parser.parse_args() o = o.__dict__.copy() Peace, ~Simon -- http://mail.python.org/mailman/listinfo/python-list