17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Discussion<br />

Exercices corrigés<br />

CHAPITRE 11<br />

shutil.copytree est une fonction très puissante pour recopier une arborescence de<br />

fichiers. Le paramètre ignore prend une fonction qui reçoit, pour chaque dossier traversé<br />

par copytree, la liste des éléments. Elle doit retourner les éléments à ne pas recopier.<br />

ignore_patterns est une fonction fournie dans shutil qui peut être utilisée pour<br />

ignore. Elle filtre les fichiers qui correspondent aux expressions fournies, les expressions<br />

étant de type glob-style.<br />

Il vaut mieux préférer cette technique à une boucle basée sur os.walk.<br />

Exercice 7 : ajout d’un fichier dans une archive zip<br />

Description<br />

L’objectif de l’exercice 7 est de créer un utilitaire qui liste les fichiers contenus dans<br />

une archive zip fournie en argument, et ajoute un fichier dans l’archive lorsqu’il est<br />

passé en deuxième argument.<br />

Points abordés<br />

Le module zipfile et la variable globale __doc__.<br />

Solution<br />

Manipulations de fichiers zip<br />

#!/usr/bin/python<br />

# -*- coding: ISO-8859-15 -*-<br />

"""\<br />

Deux utilisations possibles:<br />

o si seule l'archive est fournie en argument,<br />

la liste des fichiers contenus est affichée<br />

o si un fichier est aussi fourni, il est inséré dans l'archive<br />

si l'archive ne possède pas déjà un fichier sous ce nom puis<br />

affiche la liste des fichiers<br />

Utilisation: %(prog)s

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

Saved successfully!

Ooh no, something went wrong!