[python] najdi, nahrad, uloz v ascii subore

Jaroslav Pachola j_p_misc na centrum.cz
Pátek Srpen 25 11:32:33 CEST 2006


No, samozrejme, ze to jednim prikazem udelat nejde, ale neni prece 
problem otevrit soubor

f = open(fileName, "r+")

udelat

f.seek(pozice)

potom pro pridani 10 znaku

buffer = f.read()
f.seek(pozice)
f.write("0123456789")
f.write(buffer)

nebo ubrani 10 znaku

buffer = f.read()
f.seek(pozice - 10)
f.write(buffer)
f.truncate(puvodniVelikost - 10)

samozrejme, ze v pripade velkych souboru, jejichz obsah se nevejde do 
rozumne velikeho bufferu,
je potreba cist a posunovat obsah souboru po blocich (metoda read() ma 
parametr).

JP

Leos Pol wrote:
> Hmm, muzete prosim napsat jednoduchy priklad, jakym zpusobem je mozne 
> vlozit do obsahu souboru nekolik znaku, popr nekolik znaku odebrat? Vzdy 
> jsem si myslel, ze toto neni mozne uz jen z pohledu principu 
> filesystemu. Myslim si, ze je jen mozne nahratit (prepsat) urcity pocet 
> znaku v souboru stejnym poctem (seek+write), pridat na konec souboru 
> dalsi data, no a uplne off topic odriznuti souboru na urcitou velikost.
>
> Leo
>
>   



Další informace o konferenci Python