[Python-de] open(File) - UTF-8

Diez B. Roggisch deets at web.de
Do Jul 10 11:47:51 CEST 2008


On Thursday 10 July 2008 11:01:05 Matthias Huening wrote:
> Hi,
>
> wenn ich eine UTF-8-kodierte Datei einlese, und dann darin folgendermaßen
> was suche:
>
> datei = open(dateiname)
> for line in datei:
>      if line[0] == '@':
>          ...
>
> dann geht das schief, wenn das '@' in der allerersten Zeile der Datei als
> erstes Zeichen steht. Wenn ich eine Leerzeile einfüge (als erste Zeile),
> dann ist alles okay. Warum? Und wie finde ich das Zeichen '@' dennoch, wenn
> es das erste Zeichen der Datei ist?
> (Hat das vielleicht irgendwie mit BOMs zu tun oder so?)

Kann gut sein. Ohne die Datei weiss das ja keiner von uns. Und wenn du schon 
weisst das sie utf-8-encodiert ist, dann benutz doch einfach das modul 
codecs, mit 

BOM_UTF8

als encoding.

Diez




Mehr Informationen über die Mailingliste python-de