Как я могу заставить файл 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' в специфичное для платформы представление при записи и обратно при чтении.