Line Wrapping

E

Evan Klitzke

All,

Mail messages should be wrapped at 78 characters (as suggested in RFC
2822). I want my python batch scripts/cron jobs to enforce this
behavior, and format the mail that is sent out so that newline
characters are inserted as appropriate to keep line lengths at 78
characters or less. I wrote a function to take a string and format it
in this manner, but it seemed a bit awkward and un-Python like (my
background is mostly C, and the function looks very much like C code).
I'd imagine that there's probably a short, succinct, more elegant
solution using regular expressions or some module that is unknown to
me. Does anyone have any clean, short solutions to this problem?
 
T

TeroV

Evan said:
All,

Mail messages should be wrapped at 78 characters (as suggested in RFC
2822). I want my python batch scripts/cron jobs to enforce this
behavior, and format the mail that is sent out so that newline
characters are inserted as appropriate to keep line lengths at 78
characters or less. I wrote a function to take a string and format it
in this manner, but it seemed a bit awkward and un-Python like (my
background is mostly C, and the function looks very much like C code).
I'd imagine that there's probably a short, succinct, more elegant
solution using regular expressions or some module that is unknown to
me. Does anyone have any clean, short solutions to this problem?

Does textwrap module has what you need?
textwrap.wrap('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
78)
['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa']couple functions which might help you to accoplish your goal. HTH', 78)
['This is a very long String. A linewrap module has couple functions
which might', 'help you to accoplish your goal. HTH']
 
E

Evan Klitzke

Evan said:
All,

Mail messages should be wrapped at 78 characters (as suggested in RFC
2822). I want my python batch scripts/cron jobs to enforce this
behavior, and format the mail that is sent out so that newline
characters are inserted as appropriate to keep line lengths at 78
characters or less. I wrote a function to take a string and format it
in this manner, but it seemed a bit awkward and un-Python like (my
background is mostly C, and the function looks very much like C code).
I'd imagine that there's probably a short, succinct, more elegant
solution using regular expressions or some module that is unknown to
me. Does anyone have any clean, short solutions to this problem?

Does textwrap module has what you need?
import textwrap
textwrap.wrap('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
78)
['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa']
textwrap.wrap('This is a very long String. A linewrap module has
couple functions which might help you to accoplish your goal. HTH', 78)
['This is a very long String. A linewrap module has couple functions
which might', 'help you to accoplish your goal. HTH']

This sounds like exactly what I was looking for -- thanks!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,780
Messages
2,569,608
Members
45,252
Latest member
MeredithPl

Latest Threads

Top