Comment puis-je compresser le contenu d'un dossier à l'aide de python (version 2.5)?
Une fois que j'ai tous les fichiers dont j'ai besoin dans un dossier particulier, je voudrais que mon script python pour compresser le contenu du dossier.
Est-ce possible?
Et comment pourrais-je aller sur le faire?
- la réponse, pour les modernes, Python, ici
Vous devez vous connecter pour publier un commentaire.
Version adaptée de le script est:
Exemple:
Il crée
'C:\zipdir\test.zip'
archive avec le contenu de la'c:\tmp\test'
répertoire.zfn = absfn[len(basedir)+len(os.sep):]
pourquoi ne pasabsbasedir=os.path.abspath(basedir); os.path.relpath(absfn,absbasedir)
? Aussi la durée de basedir et les os.la sep peut être vu comme une constante, de sorte qu'il devrait être en dehors de ces deux boucles for.closing
.shutil.make_archive
à la place. 2 - normaliser sibasedir
se termine par un séparateur de chemin (slash):if len(basedir) > 1: basedir = basedir.rstrip(os.sep)
Sur python 2.7, vous pouvez utiliser: shutil.make_archive(base_name, format[, root_dir[, base_dir[, verbose[, dry_run[, propriétaire[, groupe[, enregistreur]]]]]]]).
base_name nom de l'archive moins d'extension
format format de l'archive
root_dir répertoire compresser.
Par exemple
Ici est une version récursive