68 votes

Fichier Python.écrire de nouvelles de la ligne de

J'ai le code simple:

f = open('out.txt','w')
f.write('line1\n')
f.write('line2')
f.close()

Le Code fonctionne sur windows et donne la taille du fichier 12 bytes, et linux, 11 bytes La raison en est la nouvelle ligne de

Sous linux il est \n et pour gagner il est \r\n

Mais dans mon code, je l'ai préciser nouvelle ligne \n. La question est de savoir comment puis-je faire de python garder nouvelle ligne comme \n toujours, et de ne pas vérifier le système d'exploitation.

98voto

Praveen Gollakota Points 8440

Vous devez ouvrir le fichier en mode binaire c'est à dire wb au lieu de w. Si vous ne le faites pas, les caractères de fin de ligne sont automatiquement convertis à l'OS.

Voici un extrait de Python de référence à propos de open().

La valeur par défaut est d'utiliser le mode texte, qui peut convertir des '\n' caractères d'une plate-forme spécifique de représentation sur l'écriture et à l'arrière sur la lecture.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X