Właśnie zauważyłem, że uniwersalna nowa funkcja operacji na plikach wydaje się być w drodze.
Dokumentacja dla Pythona 3.5 open
jest mode
parametr wskazuje, że to przestarzałe:
'U'
tryb uniwersalny nowego wiersza (przestarzały)
Przynajmniej w przeszłości jak w Python 3.2 open
zawiera podobne ostrzeżenie „tylko wsteczna kompatybilność” podczas dokumentowania użycia mode
argumentu:
'U'
uniwersalny tryb nowej linii (dla kompatybilności wstecznej; nie powinien być używany w nowym kodzie)
Nawet w Pythonie 2.7 podobne ostrzeżenie znajduje się w dokumentacji io.open
.
Jaki jest tego powód?
python
io
deprecation
jpmc26
źródło
źródło
Odpowiedzi:
open()
Funkcja w bibliotece Python 3 manewline
argumentu. Ustawienie naNone
włącza uniwersalne znaki nowej linii. Jest to przyjęty sposób, aby uczynićmode='U'
argument zbędnym.Użyj,
newline=None
aby włączyć uniwersalny tryb nowej linii (jest to ustawienie domyślne).źródło
Po tym, jak natknąłem się na to pytanie, zaktualizowałem dokumentację, aby wyjaśnić, co się dzieje ( https://github.com/python/cpython/pull/11646/files ).
Myląco tajemniczy wpis w tabeli
'U'
zniknął, a zamiast tego znajduje się akapit, który mówi:źródło