Я только что заметил, что универсальная функция новой строки в файловых операциях, похоже, выходит из-под контроля.
Документация для Python 3.5 open
«s mode
параметр указывает на то, что это не рекомендуется:
'U'
универсальный режим новой строки (не рекомендуется)
По крайней мере, начиная с Python 3.2, open
при документировании использования mode
аргумента содержится аналогичное предупреждение «только для обратной совместимости» :
'U'
универсальный режим новой строки (для обратной совместимости; не должен использоваться в новом коде)
Даже в Python 2.7 подобное предупреждение помещено в документацию io.open
.
В чем причина этого?
python
io
deprecation
jpmc26
источник
источник
Ответы:
open()
Функция в библиотеке Python 3 имеетnewline
аргумент. Установка его дляNone
включения универсальных переносов строк. Это приемлемый способ сделать это, сделавmode='U'
аргумент избыточным.Используйте
newline=None
для включения универсального режима перевода строки (это значение по умолчанию).источник
Наткнувшись на этот вопрос, я обновил документацию, чтобы прояснить, что происходит ( https://github.com/python/cpython/pull/11646/files ).
Запутанная загадочная запись в таблице
'U'
исчезла, и вместо этого есть параграф, который гласит:источник