[Python-de] Daten in Datei einfuegen
Alexander 'boesi' Bösecke
boesi.josi at gmx.net
Mit Apr 21 14:04:42 CEST 2004
moin
Ist es moeglich in Dateien Daten an beliebiger Stelle einzufuegen, ohne
das die vorhandenen Daten ueberschrieben werden? Und das mit einer
Methode, die auch noch plattformuebergreifend funktioniert?
Im Modus 'r+' werden die vorhandenen Daten ueberschrieben:
fd = open('test.txt', 'r+')
fd.read()
'test1'
fd.seek(0)
fd.write('test2')
fd.seek(0)
fd.read()
'test2'
Die Größe der zu schreibenden Daten ist bekannt, also koennte ich ja die
Datei vorm schreiben mit 0-Bytes auffuellen. Aber wie mach ich das?
Und im Modus 'a+' werden die Daten immer ans Ende der Datei angehaengt:
fd = open('test.txt', 'a+')
fd.read()
'test2'
fd.seek(0)
fd.write('test3')
fd.seek(0)
fd.read()
'test2test3'
Das wuerde funktionieren, wenn ich die Datei vorm schreiben an der
passenden Stelle teile und danach wieder zusammenfuege. Geht das ohne
die Datei einzulesen (die Dateien koennen mehrere 100MB bis > 1GB gross
sein)?
thx & cu boesi
PS: die Größe der einzufuegenden Daten ist immer 1MB, falls das wichtig
sein koennte.
--
Wenn de Lüch net waer un dr Neid #1671 : icq-intern
gäbs lauter glückliche Leid #73628288 : icq-extern
Uhne Lüch un Neid = ganz gewiß boesi111 : aim
wär uf dr Ard is Paradies i171 : reallife