text wrapping help

attn.steven.kuo at gmail.com attn.steven.kuo at gmail.com
Wed Feb 28 21:04:23 EST 2007


On Feb 28, 5:50 pm, "Ryan K" <ryankas... at gmail.com> wrote:

> On Feb 28, 8:27 pm, attn.steven.... at gmail.com wrote:
>
> > Try:
>
> > import re
> > sample_text = """Personal firewall software may warn about the
> > connection IDLE makes to its subprocess using this computer's internal
> > loopback interface.  This connection is not visible on any external
> > interface and no data is sent to or received from the Internet."""
>
> > # assume 24 is sufficiently wide:
>
> > lines = map(lambda x: x.rstrip(),
> > re.findall(r'.{1,24}(?:(?<=\S)\s|$)', sample_text.replace("\n", " ")))
>
> > print "\n".join(lines)
>
> > --
> > Hope this helps,
> > Steven
>
> That works great but I need to replace the newlines with 24-(the index
> of the \n) spaces.
>



Just left-justify to the appropriate width with
the the padding character you wanted:

equally_long_lines = map(lambda x: x.ljust(24, ' '), lines)

print "\n".join(equally_long_lines)

--
Hope this helps,
Steven




More information about the Python-list mailing list