[python] vytovoreni komprimovaneho souboru z adresare
geon
geon na post.cz
Úterý Leden 3 21:57:38 CET 2006
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í.
Další informace o konferenci Python