Manipulation de fichiers ZIP
Module standard zipfile
Zipper un fichier:
Remplcez 'w' par 'a' pour ajouter des fichiers à l'archive zip.
Dézipper tous les fichiers d'une archive zip:
Module zipmci
Voici un petit module, pour pouvoir manipuler des fichiers compressés au format .ZIP, en invite de commande.
C'est aussi un exemple d'utilisation des modules de la librairie standard de Python : zlib & zipfile
Mais, la librairie standard, on s'aperçoit que l'ajout de fichier 'ajoute' vraiment, sans tenir compte de l'existence préalable du fichier. On peut se retrouver ainsi avec deux, ou plus, occurrences d'un même fichier. De même, ni la mise à jour (update), ni la suppression de fichier ne sont prévus.
J'ai essayé de remédier à ces points :
- - suppression d'un fichier ; - 'update' (remplacement d'un fichier, par un plus récent).
Comme le code-source est un peu long, il me semble préférable de mettre un lien :
Le code a été testé avec Python 2.3 et Python 2.4, sous windows (2K et XP).
Manipulation de fichiers .tar.bz2
Le format tar.bz2 est généralement plus compact que le format .zip
Python peut nativement lire et écrire ce format.
Compresser un répertoire complet en .tar.bz2:
Décompresser une archive .tar.bz2:
1 import tarfile
2 import bz2
3 archive = tarfile.open('monarchive.tar.bz2','r:bz2')
4 archive.debug = 1 # Affiche les fichiers en cours de décompression
5 for tarinfo in archive:
6 archive.extract(tarinfo, r'd:\monrepertoire') # d:\monrepertoire est l'endroit où on veut décompresser les fichiers.
7 archive.close()