2012-08-23 28 views
48

Tengo una función que devuelve una cadena. La cadena contiene retornos de carro y nuevas alimentaciones de línea (0x0D, 0x0A). Sin embargo, cuando escribo en un archivo, solo contiene los nuevos datos de línea. ¿Hay alguna manera de hacer que la salida incluya el retorno de carro y el nuevo avance de línea?Python Escribe bytes en el archivo

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

tienen una lectura del archivo '.__ doc__' – wim

Respuesta

91

Si desea escribir bytes, debe abrir el archivo en modo binario.

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

Desde OP parece estar usando una plataforma que no sea Windows, esto sólo funciona en el AP3. En Py2, necesitarías usar 'io.open'. – lvc

Cuestiones relacionadas