Petr Zlamal wrote: > Potreboval bych zapsat retezec na zacatek jiz existujiciho souboru.
Pokud si prejete posunout existujici obsah tak, aby se nic nepremazalo, zkuste test case v priloze. Pokud chcete zacatek souboru prepsat, otevrete soubor s priznakem 'r+' (resp. 'w+', pokud pri otevirani soubor jeste neexistuje). Nicmene obecne povazuji vkladani na zacatek souboru jako priznak nedobreho navrhu. Doporucuji overit, jestli Vas do toho netlaci nejaka skutecnost, kterou by slo odbourat. -- \//\/\ http://macek.sandbox.cz
import os, mmap CONTENT = [ x**10 for x in range(10) ] BRICKS = "Tento trik umozni jednoduse vkladat retezce " \ "na zacatek souboru.".split() FN = '/tmp/file-prepend.blabla.tmp' # Priprava: Ciselna rada do noveho souboru print "Writing:", CONTENT print >> open(FN, 'w'), CONTENT print # ----------- def prepend(f, string): sl = len(string) if sl: mm = mmap.mmap(f.fileno(), 0) fl = mm.size() mm.resize(fl + sl) # udelame misto mm.move(sl, 0, fl) # posuneme obsah doprava mm[:sl] = string # zapisene na zacatek mm.close() f = open(FN, 'r+') BRICKS.reverse() for word in BRICKS: print "Prepending:", word prepend(f, word + ' ') f.close() print print "Result:" print open(FN).read()
begin:vcard fn:Vlada Macek n:Macek;Vlada adr:;;;Liberec;;;Czech Republic email;internet:[EMAIL PROTECTED] title:Software || Networking && UNIX tel;cell:+420 608 978 164 note;quoted-printable:GPG info: key 0x1F059424, fingerprint 1494 F8DD 6379 4CD7 E7E3 1FC9 D7504= 243 1F05 9424=0D=0A= =0D=0A= When you find a virus in mail from me, then I intended to infect you, sin= ce I use SW that is not distributing malware w/o my knowledge.=0D=0A= =0D=0A= x-mozilla-html:FALSE url:http://macek.sandbox.cz version:2.1 end:vcard
_______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python