[python] vytovoreni komprimovaneho souboru z adresare

azurIt azurit na pobox.sk
Úterý Leden 3 22:08:37 CET 2006


prikaz z python dokumentacie (modul tarfile):

import tarfile
tar = tarfile.open("sample.tar", "w")
for name in ["foo", "bar", "quux"]:
    tar.add(name)
tar.close()

potom ten tar zkomprimujes sposobom ako pisal napriklad geon

azurIt

>-----Pôvodná správa-----
>Od: geon [mailto:geon na post.cz]
>Odoslané: 3. januára 2006 20:57
>Komu: Konference PyCZ
>Predmet: Re: [python] vytovoreni komprimovaneho souboru z adresare
>
>
>rajcze napsal(a):
>> ahojte,
>> ani po usilovnem googleni se mi nepodarilo prijit na zpusob, jak
>> zkomprimovat adresar. nasel jsem nekolik tutorialu, ktere popisuji
>> vytvoreni kompromovaneho souboru pomoci mofulu gzip, ale vsude jde jen
>> o zapsani neceho do gzip.GzipFile
>> jak se da zkoprimovat adresar?
>>
>gzip není zip. Zip umí zkomprivat více souborů do jednoho, to gzip
>neumí. Ten umí jen jeden soubor do jednoho balíku. No a pak musíš ty
>balíky nějak zarchivovat - buď tar nebo zipfile.
>
>Malá ukázka čistého gzip (tar či zip doplň sám nebo někdo jiný přispěje
>...): zbalení (gzip) všech souborů v aktuálním adresáři
>
>import gzip, os
>
>seznam=[s for s in os.listdir('.') if os.path.isfile(s)]
>
>for s in seznam:
>g=gzip.GzipFile(s+'.gz','w')
>x=file(s,'rb').read()  # 'rb' je důležité nejen pro binárky, ale i
>pro .doc, .xls, apod...
>g.write(x)
>g.close()
>
>
>
>
>--
>geon
>Vyjímka je pravidlo. Rekurzivní.
>
>_______________________________________________
>Python mailing list
>Python na py.cz
>http://www.py.cz/mailman/listinfo/python



Aktivujte si neobmedzenu mailovu schranku na www.pobox.sk!





Další informace o konferenci Python