Concernant les os.linesep:
Voici une exacte inédite Python 2.7.1 interprète session sur Windows:
Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.linesep
'\r\n'
>>> f = open('myfile','w')
>>> f.write('hi there\n')
>>> f.write('hi there' + os.linesep) # same result as previous line ?????????
>>> f.close()
>>> open('myfile', 'rb').read()
'hi there\r\nhi there\r\r\n'
>>>
Sur Windows:
Comme prévu, le système d'exploitation.linesep ne PAS produire le même résultat qu' '\n'
. Il n'y a aucun moyen qu'il pourrait produire le même résultat. 'hi there' + os.linesep
est équivalent à 'hi there\r\n'
, ce qui n'est PAS équivalent à 'hi there\n'
.
C'est simple: utilisez \n
qui sera traduit automatiquement à l'os.linesep. Et c'est simple depuis le premier port de Python pour Windows.
Il n'y a pas de point à l'aide de mac os.linesep sur les systèmes non-Windows, et il donne de mauvais résultats sur Windows.
NE PAS UTILISER de système d'exploitation.linesep!