Générer tous les fichiers avec une extension spécifique

Il lèche tous les fichiers dans le répertoire spécifié et ne renvoie que le chemin du fichier avec l'extension souhaitée en tant que générateur. Vous pouvez le faire en utilisant ʻos.walk`.

Je pense que c'est une opération fréquemment utilisée, mais j'oublie immédiatement comment l'écrire, donc je vais en faire une fonction pour le futur sous forme de mémo. Il peut être utilisé avec Python 2 et 3.

import os


def walk_files_with(extension, directory='.'):
    """Generate paths of all files that has specific extension in a directory. 

    Arguments:
    extension -- [str] File extension without dot to find out
    directory -- [str] Path to target directory

    Return:
    filepath -- [str] Path to file found
    """
    for root, dirnames, filenames in os.walk(directory):
        for filename in filenames:
            if filename.lower().endswith('.' + extension):
                yield os.path.join(root, filename)

En fait, il est utilisé comme ça.

for filepath in walk_files_with('csv', './data/'):
    print(filepath)

Si vous avez Python 3.4 ou supérieur, il peut être plus intelligent d'utiliser pathlib.

Recommended Posts

Générer tous les fichiers avec une extension spécifique
Énumérer les fichiers avec des extensions spécifiques
Générer une distribution normale avec SciPy
Générer une URL pré-signée avec golang
[Python] Générer un mot de passe avec Slackbot
Rechercher des fichiers avec l'extension spécifiée
Utilisez shutil pour supprimer tous les dossiers avec un petit nombre de fichiers
Créez une commande pour supprimer tous les fichiers temporaires générés dans un dossier spécifique
[Python] Récupérez les fichiers dans le dossier avec Python
Effacer et générer des fichiers de numéro de série avec un script shell
Rechercher récursivement tous les fichiers avec plusieurs extensions spécifiées
Cloner avec une branche / balise spécifique dans GitPython
Configurer un module avec plusieurs fichiers dans Django
[Python] Renommez tous les fichiers image dans un dossier spécifique par date et heure de prise de vue
Extraire des éléments autres qu'un index spécifique avec Numpy
Générez des phrases aléatoires à partir de vos tweets avec trigramme
2 façons de lire tous les fichiers csv dans un dossier
Appliquer l'environnement de conda à un répertoire spécifique avec pyenv-vertualenv
Arrêter une instance avec une balise spécifique dans Boto3
Télécharger des fichiers avec Django
Format A4 avec python-pptx
Donnez une date et une heure à la commande d'historique et collectez les fichiers d'historique de tous les utilisateurs avec un script
Décorer avec un décorateur
Générez un mot de passe facile à retenir avec apg
Procédure d'installation pour Python et Ansible avec une version spécifique
Détecter les objets d'une couleur et d'une taille spécifiques avec Python
Traitez les fichiers du dossier dans l'ordre avec le script shell
Comment extraire un index autre qu'un index spécifique avec Numpy
Supprimer toutes les bibliothèques installées sur pip avec une seule commande