[Python-de] Neue Probleme mit Unicode in Text-Widget von Tkinter

CCF.Herzog at gmx.net CCF.Herzog at gmx.net
Wed Apr 25 17:57:36 EDT 2001


Hallo,

unter Windows 2000 passiert starte ich folgendes Progrämmchen, 
schliesse das Tkinter-Fenster und starte neu. Es öffnet, wenn vh. 
die Datei afile lädt den Inhalt als Unicode in das Text widget,  hängt 
den Unicode String "Hallo\nWelt" hintendran und speichert den 
Inhalt des widgets dann als cp1252 ab.
#----------------------------------
import codecs
import Tkinter

try:
    f = codecs.open("afile","r","cp1252")
    s = f.read()
    f.close()
except IOError:
    s = ""
s = s + u"Hallo\nWelt"
txt = Tkinter.Text()
txt.configure(wrap = "word")
txt.insert("end",s)
txt.pack()
f = open("afile", "w")
s = txt.get(1.0,"end")
s = unicode(s).encode("cp1252")
f.write(s)
f.close()

txt.mainloop()
#-----------------------------------
Das wirklich komische ist, wenn ich mir die Datei afile dann 
anschaue, dann sind die \n in CRLF konvertiert (Zeilenende unter 
Windows), aber bei jedem Durchlauf, also Laden, Verändern und 
Abspeichern kommt, ein weiteres CR hinzu, aber kein LF. Das 
scheint mir nicht logisch und stört ausserdem beträchtlich. Warum 
ist das so? Es muss, denke ich, irgendwie an codex.open() liegen
Gruss
Christoph



More information about the Python-de mailing list