Seite 1 von 1

"Falscher" Zeilenumbruch bei codecs.open

Verfasst: Montag 26. März 2007, 19:39
von HWK
Beim Speichern einer Datei wird ja normalerweise '\n' in den betriebssystemspezifischen Zeilenumbruch os.linesep umgewandelt. Beim Speichern in einer mit codecs.open geöffneten Datei (bei mir 'UTF-16') scheint das nicht der Fall zu sein. Ist dies so wirklich gedacht oder muss man damit rechnen, dass dies Verhalten an die mit file geöffneten Dateien angepasst wird? Denn dann könnte die Änderung der Zeilenumbrüche in os.linesep vor dem Speichern ja später zu Problemen führen.
MfG
HWK

Re: "Falscher" Zeilenumbruch bei codecs.open

Verfasst: Montag 26. März 2007, 21:10
von gerold
HWK hat geschrieben:Beim Speichern einer Datei wird ja normalerweise '\n' in den betriebssystemspezifischen Zeilenumbruch os.linesep umgewandelt. Beim Speichern in einer mit codecs.open geöffneten Datei (bei mir 'UTF-16') scheint das nicht der Fall zu sein.
Hi HWK!

``file`` oder ``open`` kümmern sich (bei Verwendung von "wU") um den Zeilenumbruch.
``codecs.open`` tut das nicht und es ist auch nichts in diese Richtung geplant. Frag mich nicht wo ich das gelesen habe. Ich weiß es nicht mehr.

mfg
Gerold
:-)

Verfasst: Montag 26. März 2007, 21:15
von birkenfeld
Nein, Universal Newline Mode war nie zum Schreiben, nur zum Lesen gedacht.

Python 2.5:

Code: Alles auswählen

>>> open("x", "wU")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: universal newline mode can only be used with modes starting with 'r'

Verfasst: Montag 26. März 2007, 21:19
von gerold
birkenfeld hat geschrieben:Nein, Universal Newline Mode war nie zum Schreiben, nur zum Lesen gedacht.
Sorry, habe mich verschrieben.

lg
Gerold
:-)

Verfasst: Dienstag 27. März 2007, 13:05
von HWK
Danke für die Info.
MfG
HWK