***************
Hallo,
für das folgende Problem habe ich hier im Forum und auch im Internet herumgesucht, aber bisher keine Lösung gefunden (mag sein, dass ich ein zu grosser Python Newbie bin):
Wie kann ich eine utf-8-Textdatei, die deutsche Umlaute enthält nicht nur zeilenweise mit readline() (damit klappt's) sondern in einem Rutsch mit readlines() (gibt nur Codierungen) auslesen?
Das Programm:
Code: Alles auswählen
# filesSimple_3.py
# liest zeilen aus einer textdatei mit deutschen umlauten
# liest die zeilen nacheinander mit readline() klappt!
# liest dann die zeilen alle mit readlines(): jein, nur codiert
# python 2.6
# 11-nov-2010
import codecs
# lies die zeilen aus notes.txt nacheinander mit readline()
print "Jetzt erst mal readline()"
print
my_file = codecs.open("notes.txt", "r", encoding="utf-8")
for i in range(0, 4):
line = my_file.readline()
print line,
print
my_file.close()
raw_input("hit ENTER to start readlines()")
print
# jetzt lies die zeilen aus notes.txt alle mit readlines()
print "Jetzt kommt readlines()"
print
my_file = codecs.open("notes.txt", "r", encoding="utf-8")
lines = my_file.readlines()
print lines
my_file.close()
print "das war readlines()"Und das ist die utf-8 Datei "notes.txt":Jetzt erst mal readline()
Stelle das Ührchen
Ärgere dich nicht
Geh' nicht öffentlich
Meide heiße Speisen
hit ENTER to start readlines()
Jetzt kommt readlines()
[u'Stelle das \xdchrchen\n', u'\xc4rgere dich nicht\n', u"Geh' nicht \xf6ffentlich\n", u'Meide hei\xdfe Speisen\n', u'\n', u'\n']
das war readlines()
Ich bin dankbar für Tipps!Stelle das Ührchen
Ärgere dich nicht
Geh' nicht öffentlich
Meide heiße Speisen
