[PYTHON] Comment lister les fichiers dans le répertoire spécifié (plusieurs conditions / recherche de sous-répertoire)

Supposons que le répertoire dans lequel se trouvent les fichiers, comme indiqué ci-dessous.

c:\pics\
	a.png
	b.jpg
	subfolder\
		c.png
		d.jpg

code

J'ai créé une fonction comme celle-ci. "Exts" est une extension de fichier, mais je pense que cela fonctionnera même si vous spécifiez des conditions autres que l'extension.


from pathlib import Path


def file_search(file_path, exts, search_subfolder):
    """
    # file_path:Annuaire à rechercher
    # exts:Extension de fichier(Exemple:['*.jpg', '*.png']
    """
    files = []
    p = Path(file_path)
    for ext in exts:
        if search_subfolder:
            files.extend(list(p.glob('**\\'+ext)))
        else:
            files.extend(list(p.glob(ext)))
    return files

Je l'appellerai du principal comme ça.


def main():
    file_path = r'C:\pics' + '\\'
    exts = ['*.jpg', '*.png']

    files = file_search(file_path, exts, True)
    pprint(files)

Résultat d'exécution

py searchpic.py

[WindowsPath('C:/pics/b.jpg'),
 WindowsPath('C:/pics/subfolder/d.jpg'),
 WindowsPath('C:/pics/a.png'),
 WindowsPath('C:/pics/subfolder/c.png')]

C'est pourquoi j'ai pu rechercher des fichiers avec plusieurs extensions sous le sous-dossier. Dans ce cas, le contenu des fichiers renvoyés est WindowsPath, pas une chaîne. Pour les fichiers, si les chaînes sont plus pratiques


files_str = list(map(lambda x: str(x), files))

Vous pouvez créer une liste de chaînes de caractères en la convertissant comme ceci.

Recommended Posts

Comment lister les fichiers dans le répertoire spécifié (plusieurs conditions / recherche de sous-répertoire)
Comment obtenir une liste de fichiers dans le même répertoire avec python
Comment supprimer plusieurs positions (index) spécifiées dans une liste Python
Comment utiliser la commande grep pour rechercher de manière récursive des répertoires et des fichiers à une profondeur spécifiée
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Comment afficher une colonne de fichiers spécifiée sous Linux (awk)
Comment effacer un taple dans une liste (Python)
Supprimer tous les fichiers pyc dans le répertoire spécifié
Comment obtenir les fichiers dans le dossier [Python]
Rechercher récursivement le répertoire spécifié pour voir le fichier
Comment lire des fichiers dans différents répertoires
Comment lire toutes les classes contenues dans * .py dans le répertoire spécifié par Python
Je souhaite voir une liste de fichiers WebDAV dans le module Requêtes
Comment connaître le répertoire actuel en Python dans Blender
Comment référencer des fichiers statiques dans un projet Django
[Python] Comment afficher les valeurs de liste dans l'ordre
Comment identifier l'élément avec le plus petit nombre de caractères dans une liste Python?
Comment vérifier en Python si l'un des éléments d'une liste est dans une autre liste
Comment trouver le premier élément qui correspond aux critères de la liste Python
Comment découper un bloc de plusieurs tableaux à partir d'un multiple en Python
Comment définir plusieurs variables dans une instruction Python for
Comment générer une requête à l'aide de l'opérateur IN dans Django
Comment obtenir une liste d'exceptions intégrées pour python
Comment connecter le contenu de la liste dans une chaîne de caractères
Obtenir la valeur d'une clé spécifique jusqu'à l'index spécifié de la liste de dictionnaires en Python
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python (version non bloquante)
[sh] Comment stocker les résultats de l'exécution de la commande dans des variables
Comment déterminer l'existence d'un élément sélénium en Python
Comment comparer des listes et récupérer des éléments communs dans une liste
Comment obtenir toutes les valeurs possibles dans une expression régulière
Recherchez le nom du fichier, y compris le mot et l'extension spécifiés dans le répertoire
Comment vérifier la taille de la mémoire d'une variable en Python
[Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
Comment obtenir les coordonnées de sommet d'une entité dans ArcPy
[Ln] Comment coller le lien symbolique du répertoire est compliqué
Pour Windows: obtenez une liste de répertoires et de fichiers dans un répertoire spécifique.
Liste tous les fichiers sous le répertoire courant ligne par ligne avec chemin complet
Comment spécifier un fichier .ui dans la boîte de dialogue / interface graphique du widget dans PySide
[Python] Comment mettre n'importe quel nombre d'entrées standard dans la liste
[Introduction à Python] Comment trier efficacement le contenu d'une liste avec le tri par liste
[Linux] Une commande pour obtenir une liste des commandes exécutées dans le passé
Je souhaite trier une liste dans l'ordre des autres listes
[Introduction à Python] Comment supprimer des lignes qui remplissent plusieurs conditions dans Pandas.DataFrame
Comment écrire une chaîne de caractères lorsqu'il y a plusieurs lignes en python
Comment bien formater une liste de dictionnaires (ou d'instances) en Python
Comment trier en spécifiant une colonne dans le tableau Python Numpy.
[Python] Comment convertir une liste bidimensionnelle en liste unidimensionnelle
Changer la liste dans l'instruction for
Comment obtenir stacktrace en python
Comment lire des fichiers CSV avec Pandas
Je voulais connaître le nombre de lignes dans plusieurs fichiers et j'ai essayé de l'obtenir avec une commande
[Décompresser] Comment décompresser uniquement les fichiers arbitraires de ceux avec des délimiteurs de répertoire antislashés dans les fichiers zip
Comment réaliser quelque chose comme une liste de void * (ou de type de variante) dans Go?
Comment compter le nombre d'éléments dans Django et sortir dans le modèle
Un mémorandum expliquant comment exécuter la commande magique! Sudo dans Jupyter Notebook
Rechercher des fichiers avec le code de saut de ligne CR + LF dans le répertoire courant
Comment faire un Raspberry Pi qui parle les tweets d'un utilisateur spécifié