7
votes

Utilisez Python Os.walk pour identifier une liste de fichiers

Dupliqué possible:
En Python, moyen le plus rapide de créer une liste de fichiers dans un répertoire avec une extension de certaines extensions

J'utilise actuellement OS.Walk pour numériser de manière récursive via un répertoire d'identification des fichiers .MOV xxx

Comment puis-je étendre ceci pour identifier plusieurs fichiers, par exemple .MOV, .Mov, .avi, .mpg?

Merci.


0 commentaires

3 Réponses :


17
votes

Essayez quelque chose comme ceci:

def fileList(source):
    matches = []
    for root, dirnames, filenames in os.walk(source):
        for filename in filenames:
            if filename.endswith(('.mov', '.MOV', '.avi', '.mpg')):
                matches.append(os.path.join(root, filename))
    return matches


0 commentaires

2
votes

Une alternative utilisant os.path.splitext : xxx


0 commentaires

2
votes
pattern = re.compile('.*\.(mov|MOV|avi|mpg)$')

def fileList(source):
   matches = []
   for root, dirnames, filenames in os.walk(source):
       for filename in filter(lambda name:pattern.match(name),filenames):
           matches.append(os.path.join(root, filename))
   return matches

0 commentaires