optionparse: how to add a line break to the help text

Robert Kern robert.kern at gmail.com
Sun Sep 11 01:44:02 CEST 2011


On 9/10/11 5:16 PM, Rafael Durán Castañeda wrote:
> On 10/09/11 22:43, Gelonida N wrote:
>> I'm having a small question about optionparse.
>>
>> Normaly optionparser will format the help text according to the
>> console's width.
>>
>> I just wondered if there is any way to insert a line breakk into an
>> options help text.
>>
>> Example:
>>
>> from optparse import OptionParser
>>
>> parser = OptionParser()
>> parser.add_option("-f", action="store",
>> help="This option is really really complicated"
>> " and I'd like to write"
>> " a few paragrpahs to explain how it works."
>> "\nHowever the line breaks are stripped off"
>> " and it's thus difficult to structure the help text")
>>
>> args = ['-h']
>> parser.parse_args(args)
>>
>> Is there any trick to force a new paragraph/ line break before the word
>> 'However'?
>>
>>
>> Thanks in advance for suggestions.
>>
>>
> You can use """ for multiple line texts:
>  >>> text = \
> ... """fsdfsfsdfsdf
> ... sfsdfsfsdf
> ... sdfsdf s
> ...
> ... """
>  >>> text
> 'fsdfsfsdfsdf\n sfsdfsfsdf\nsdfsdf s\n\n'

That's not the problem. OptionParser removes all of the original newlines that 
are in the given text when it formats the text for display. I don't think there 
is a simple workaround.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco




More information about the Python-list mailing list