Форум сайта python.su
Lexander
Если бы не IIS, то конечно.
Система, которая пишет символ конца файла в средине файла.
Как это еще назвать?
LexanderИСС тут не при чём, логи наш сервак пишет, там хоть ИСС, хоть апач, всё равно так же будет
Если бы не IIS, то конечно.
Отредактировано Budulianin (Ноя. 8, 2013 18:26:31)
Офлайн
BudulianinЯ там выше отписался, когда нужна независимость от платформы (\r, \n, \r\n).
В каком случае текстовый режим чтения файла предпочтительнее, чем бинарный?
Офлайн
LexanderСпасибо, не заметил
Я там выше отписался, когда нужна независимость от платформы (\r, \n, \r\n).
Офлайн
Budulianinтекстовый режим приводит содержимое файла к одному и тому же виду при чтении
Разве бинарный режим не будет одинаково работать на разных платформах ?
Офлайн
py.user.next
текстовый режим приводит содержимое файла к одному и тому же виду при чтении
перевод строки превращается в \n, какой бы он там ни был в файле
при записи выполняется то же преобразование
это из C пошло
Офлайн
BudulianinНе заменены, а распознаны именно как символ окончания строки.
Т.е. при чтении в текстовом режиме, все символы конца строки будут заменены на \n
Офлайн
Lexanderзаменены
Не заменены, а распознаны именно как символ окончания строки.
Budulianinвсё проверил
При чтении файла из винды \r\n в конце каждой строки, хоть бинарный режим, хоть текстовый, замены на \n не происходит при чтении в текстовом режиме
Отредактировано py.user.next (Ноя. 9, 2013 19:15:43)
Прикреплённый файлы:
crlf.tar.bz2 (398 байт)
Офлайн
Эти файлы ты записал на винде, правильно?
Сначала ты сохранил в текстовом режиме, он перевёл \n -> \r\n т.к. винда
Потом ты считал этот текст в режиме чтения и показал, как Python видит у себя эту строку, т.е. он изменил \r\n -> \n
Потом ты считал этот файл в бинарном режиме и показал, что в строке \r\n , т.к. режим бинарный и Python считал т.к. есть без преобразований
Budulianin
Попробовал читать файлы созданные в винде, в разных режимах
При чтении файла из винды \r\n в конце каждой строки, хоть бинарный режим, хоть текстовый, замены на \n не происходит при чтении в текстовом режиме
Офлайн
Budulianinну, да
Эти файлы ты записал на винде, правильно?
Budulianinв текстовом режиме
Потом ты считал этот текст в режиме чтения
Budulianin“так как” в данном случае нельзя сократить, потому что там есть запятая между словами
режим бинарный и Python считал т.к. есть без преобразований
Budulianinв питоне они просто распознаются все (в файловом объекте, по-моему, сохраняются все виды встретившихся переводов в кортеже)
Это я на Linux читал файл сохранённый в винде. Поэтому он и не преобразовал \r\n -> \n т.к. такое только в винде работает.
Офлайн
py.user.next
Ну теперь всё стало ясно, спасибо.
Офлайн