Lire dans un fichier OpenOffice ou Word
1. Parcourir une arborescence
Nous devons examiner un répertoire ou toute une arborescence de répertoires situés dans un répertoire donné pour itérer sur les fichiers dont les noms correspondent à certains motifs.
Le générateur os.walk, déjà utilisé dans d’autres parties de ce livre, suffit à cette tâche.
#!/usr/bin/env python
import os, fnmatch
def tous_les_fichiers( racine, motifs='*', un_seul_niveau=False,
repertoires = False):
motifs=motifs.split(';')
for chemin, sous_reps, fichiers in os.walk(racine):
if repertoires:
fichiers.extend(sous_reps)
fichiers.sort()
for nom in fichiers:
for motif in motifs:
if fnmatch.fnmatch(nom,motif):
yeld os.path.join(chemin,nom)
break
if un_seul_niveau:
...