Python, lire CRLF fichier texte comme il est, avec CRLF
with open(fn, 'rt') as f:
lines = f.readlines()
Ce lit CR LF fichier texte (WinXP, Py 2.6) avec LF ligne se termine. Donc lines
contiennent des '\n' se termine. Comment obtenir des lignes comme:
- pour CRLF fichier obtenir des lignes avec '\n\r " se termine
- pour LF fichier obtenir des lignes avec des '\n' se termine
Vous devez vous connecter pour publier un commentaire.
Au lieu de l'intégré dans
open()
fonction, utilisezio.open()
. Cela vous donne plus de contrôle sur la façon dont les retours à la ligne sont traitées avec lanewline
argument:Réglage
newline
à la chaîne vide, les feuilles universelle de saut de ligne est activé, mais renvoie des fins de ligne non traduite; vous pouvez toujours utiliser.readlines()
à trouver des lignes arrêté avec toute l'juridique terminateurs de ligne, mais les données renvoyées est exactement celui trouvé dans le fichier:C'est moi qui souligne.
Ce qui est différent de l'ouverture du fichier en mode binaire, où
.readlines()
ne diviser le fichier sur\n
caractères. Pour un fichier avec\r
fin de ligne, ou un mixte des fins de ligne, cela signifie que les lignes ne sont pas va être diviser correctement.Démo:
Noter que
io.open()
aussi décode le contenu du fichier de valeurs unicode.newline
paramètre. Peut-être que parfois changé dans le passé?open
n'est pas la même fonction. En Python 3.xio.open
etopen
sont exactement la même fonction.