Is there a way to write formatted text from Python?

O.rka picture O.rka · Apr 23, 2013 · Viewed 21.8k times · Source

If you are writing to a file with python, is there any way to make certain parts of the text bold, italic, or underlined ?

i tried:

test = '/location/tester.rtf'
out_file = open(test,'w')
out_file.write('is this {\bold}?')
out_file.close() #thanks to the comment below

is it possible to write FORMATTED TEXT like bold, italic, or underlined text via python ? i feel like .rtf is the most basic formatted text but correct me if i'm wrong

Answer

max k. picture max k. · Apr 23, 2013

Just been playing around with this assuming MS word, I found that you needed to wrap the document in '{}' and define the doctype, then start bold with '\b' and end with '\b0'. An example would be

test = 'tester.rtf'
out_file = open(test,'w')
out_file.write("""{\\rtf1
This is \\b Bold  \\b0\line\
}""")
out_file.close() #thanks to the comment below

Note the double '\' since python has special meanings for '\b' and '\r'.

The full info came from http://www.pindari.com/rtf1.html, which also describes italics, font etc.

Let me know if that worked for you.