Search code examples
pythonnewlinecarriage-return

How to prevent that CR and LF are changed when writing bytes to file?


I have a function that returns a string. The string contains carriage returns and newlines (0x0D, 0x0A). However when I write to a file it contains only the new line feeds. Is there a way to get the output to include the carriage return and the newline?

msg = function(arg1, arg2, arg3)
f = open('/tmp/output', 'w')
f.write(msg)
f.close()

Solution

  • If you want to write bytes then you should open the file in binary mode.

    f = open('/tmp/output', 'wb')