2012-08-23 18 views
48

Mam funkcję, która zwraca ciąg znaków. Ciąg zawiera znaki powrotu karetki i nowe linie (0x0D, 0x0A). Jednak gdy piszę do pliku, zawiera on tylko nowe kanały. Czy istnieje sposób, aby dane wyjściowe zawierały powrót karetki i nowy wiersz.Python Napisz bajty do pliku

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

mieć odczytu z pliku '.__ doc__' – wim

Odpowiedz

91

Jeśli chcesz napisać bajty, powinieneś otworzyć plik w trybie binarnym.

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

Ponieważ PO wydaje się być za pomocą platformy niż Windows ta działa tylko w Py3. W Py2, musisz użyć 'io.open'. – lvc