Как я могу заставить файл Python.write () для использования того же формата новой строки в Windows, что и в Linux ("rn" против "n")?
у меня есть простой код:
f = open('out.txt','w')
f.write('line1n')
f.write('line2')
f.close()
код работает на Windows и дает размер файла 12 bytes
, а linux дает 11 bytes
Причина-новая строка
в linux это n
и для победы rn
но в моем коде я указываю новую строку как n
. Вопрос в том, как я могу заставить python сохранить новую строку как n
всегда, а не проверять операционную систему.
2 ответа:
вам нужно открыть файл в бинарный режим т. е.
wb
вместоw
. Если вы этого не сделаете, символы конца строки автоматически преобразуются в определенные ОС.вот отрывок из ссылки Python о
open()
.по умолчанию используется текстовый режим, который может преобразовывать символы '\n' в специфичное для платформы представление при записи и обратно при чтении.