komisches Verhalten von f.write und f.tell
Verfasst: Mittwoch 21. Februar 2007, 19:08
Hi
Irgendwie muss ich glaubs einen saublöden Fehler machen, aber ich kann mir folgendes Verhalten einfach nicht erklären:
self.data ist ein Fileobjekt und tmp ein Datenstring
Die Ausgabe sieht so aus:
Also zuerst ist der Filezeiger auf Byte 0
Die Länge von tmp ist 634 und nach dem schreiben sollte der Dateizeiger auf das Byte 634 zeigen.
Jedoch gibt tell nacher 658 aus.
Wie kann ich mir das erklären? Woher kommen die 24 Bytes mehr?
Gruss
Irgendwie muss ich glaubs einen saublöden Fehler machen, aber ich kann mir folgendes Verhalten einfach nicht erklären:
Code: Alles auswählen
print self.data.tell(), len(tmp), self.data.tell()+len(tmp),
self.data.write(tmp)
print self.data.tell()
Die Ausgabe sieht so aus:
Code: Alles auswählen
0 634 634 658
Die Länge von tmp ist 634 und nach dem schreiben sollte der Dateizeiger auf das Byte 634 zeigen.
Jedoch gibt tell nacher 658 aus.
Wie kann ich mir das erklären? Woher kommen die 24 Bytes mehr?
Gruss