Je viens de remarquer que la fonction niversal Newline des opérations sur les fichiers semble être en voie de disparition.
La documentation pour le paramètre Python 3.5 open
mode
indique qu'il est obsolète:
'U'
mode de saut de ligne universel (obsolète)
Au moins aussi loin que Python 3.2, open
contient un avertissement similaire de "compatibilité descendante uniquement" lors de la documentation de l'utilisation de mode
argument:
'U'
mode de saut de ligne universel (pour la compatibilité descendante; ne doit pas être utilisé dans le nouveau code)
Même dans Python 2.7, un avertissement similaire est placé dans la documentation de io.open
.
Quelle en est la raison?
La fonction open()
dans la bibliothèque Python 3 possède un argument newline
. Le définir sur None
permet les nouvelles lignes universelles. C'est la façon acceptée de le faire, ce qui rend le mode='U'
argument redondant.
Utilisation newline=None
pour activer le mode de saut de ligne universel (c'est la valeur par défaut).
Après être tombé sur cette question, j'ai mis à jour la documentation pour être plus clair sur ce qui se passe ( https://github.com/python/cpython/pull/11646/files ).
L'entrée de table cryptiquement confuse pour 'U'
a disparu, et à la place il y a un paragraphe plus bas qui dit:
Un caractère de mode supplémentaire est autorisé,
'U'
, qui n'a plus aucun effet et est considéré comme obsolète. Il permettait auparavant: term:universal newlines
en mode texte, qui est devenu le comportement par défaut dans Python 3.0. Reportez-vous à la documentation de: ref:newline <open-newline-parameter>
paramètre pour plus de détails.