Search code examples
pythontextformatfwrite

Is there a way to write formatted text from Python?


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


Solution

  • 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.