17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

254<br />

La bibliothèque standard<br />

TROISIÈME PARTIE<br />

zipfile<br />

if __name__ == '__main__':<br />

parser = OptionParser()<br />

parser.usage = 'gzipper [-cd] [fichier]'<br />

for option in options:<br />

param = option['noms']<br />

del option['noms']<br />

parser.add_option(*param, **option)<br />

options, arguments = parser.parse_args()<br />

sys.argv[:] = arguments<br />

main(options, arguments)<br />

[..]<br />

tziade@Tarek:~/Desktop$ python gzipper.py -c started.py<br />

tziade@Tarek:~/Desktop$ ls started.py.gz<br />

started.py.gz<br />

tziade@Tarek:~/Desktop$ python gzipper.py -d started.py.gz<br />

tziade@Tarek:~/Desktop$ ls started.py<br />

started.py<br />

BON À SAVOIR gzip et directive with<br />

Le module gzip a récemment été étendu pour supporter la directive with.<br />

Ainsi, un fichier pourra être traité avec:<br />

with gzip.open(fichier) as f:<br />

...<br />

Le format zip est plus complet que gzip car il permet de compresser dans une même<br />

archive plusieurs fichiers. Le module zipfile fournit une classe ZipFile de manipulation<br />

d’une archive zip.<br />

class ZipFile(fichier[, mode[, compression]])<br />

La classe est instanciée avec fichier, qui peut être le nom d’un fichier ou un fichier<br />

de type file ou assimilé, comme pour le cas de gzip.<br />

Le mode par défaut est r et peut être fixé à r, w ou a suivant les cas (si b est ajouté, il<br />

est automatiquement retiré).<br />

Le mode de compression peut être ZIP_STORED (pas de compression, valeur par défaut)<br />

ou ZIP_DEFLATED (compression zlib, avec un niveau de compression par défaut).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!