"Falscher" Zeilenumbruch bei codecs.open

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Montag 26. März 2007, 19:39

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
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Montag 26. März 2007, 21:10

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Montag 26. März 2007, 21:15

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'
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Montag 26. März 2007, 21:19

birkenfeld hat geschrieben:Nein, Universal Newline Mode war nie zum Schreiben, nur zum Lesen gedacht.
Sorry, habe mich verschrieben.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Dienstag 27. März 2007, 13:05

Danke für die Info.
MfG
HWK
Antworten