Seite 1 von 1

Verfasst: Sonntag 13. Januar 2008, 00:57
von birkenfeld
Darii hat geschrieben:
Trundle hat geschrieben:Du sagst, du magst eine Textdatei haben (`w'). Und dann sagst du, du magst eine neue Zeile haben (`\n'). Dann ersetzt Python (bzw. eher die C-Lib) automatisch `\n' mit den für das Betriebssystem passenden Zeichen, wie sma bereits geschrieben hat. Und beim Auslesen werden diese wieder in `\n' umgewandelt, so dass du dir als Programmierer keine Gedanken über die Plattform machen musst. Meiner Meinung nach völlig akzeptabel, denn du hast explizit gesagt, dass du eine Text- und keine Binärdatei haben magst.
Das sollte man das aber irgendwo hinschreiben, ich habe das so nirgends explizit gelesen.
Die Doku verweist da auf die C-level fopen() Funktion. Da hast du recht, das ist nicht ganz optimal. Ich werde das ändern.
Und so intuitiv wie du das beschreibst ist das nicht. Ich habe mir ehrlich gesagt noch nie darüber Gedanken gemacht, was das jetzt konkret bedeutet wenn ich eine Datei als Textdatei öffne. Ich hatte aber zumindest erwartet, dass Python genau das an ASCII-Zeichen reinschreibt was ich ihm sage. Und "\n" war in meinen Augen keine neu Zeile, sondern ein einfaches Zeichen(chr(10)).
Da beschreibst du jetzt genau den Binärmodus. Für den ist \n ein Byte wie jedes andere.
Geschieht diese Umwandlung nur bei der Dateiausgabe oder auch irgendwo anders?
Nein, nur dort.
Abgesehen davon wäre es doch in den meisten Fällen auch egal, wenn Windows \n statt \r\n abbekäme. Das einzige Programm, das ich kenne und das darüber stolpert, ist der normale Editor.
Das konventionelle Zeilenende unter DOS/Windows ist nunmal \r\n.

Verfasst: Sonntag 13. Januar 2008, 01:38
von Darii
birkenfeld hat geschrieben:Die Doku verweist da auf die C-level fopen() Funktion. Da hast du recht, das ist nicht ganz optimal. Ich werde das ändern.
Das wäre toll. Auf den ganzen C-Manpages findet man das auch nicht so auf die Schnelle(ich es noch nicht gefunden :)).
Geschieht diese Umwandlung nur bei der Dateiausgabe oder auch irgendwo anders?
Nein, nur dort.
Dann bin ich ja beruhigt. ;)

Verfasst: Montag 14. Januar 2008, 11:19
von mkesper
Gerold hat auch mal einen längeren Text zu Dateien und Konvertierung geschrieben.

Verfasst: Montag 14. Januar 2008, 17:54
von Leonidas
mkallas hat geschrieben:Gerold hat auch mal einen längeren Text zu Dateien und Konvertierung geschrieben.
Wovon es eine [wiki=Von_Umlauten%2C_Unicode_und_Encodings]verbesserte Fassung[/wiki] im Wiki gibt.