0
votes

Python: Rechercher un répertoire et des sous-répertoires pour un certain type de fichier

J'ai un dossier contenant quelques fichiers de types différents ( .cpp code>, .hpp code>, .ipp code> ...) et Dans ce dossier se trouvent plusieurs sous-dossiers qui contiennent également ces différents types de fichiers. Ma question est la suivante: y a-t-il une boucle unique que je peux faire qui recherchera le premier dossier principal et renvoie une liste complète de tous les fichiers .cpp code> à partir du dossier? Jusqu'à présent, je sais que:

folder_list = [f pour f in os.listdir (OS.GETCWD ()) Si OS.Path.ISDIR (F)] CODE> P>

retournera une liste des sous-dossiers, puis je peux modifier le répertoire de travail et obtenir la liste des fichiers à ajouter. p>

Je sais aussi que: p>

file_list = [f for f in listdir(os.getcwd()) if isfile(join(os.getcwd(), f))]


1 commentaires

3 Réponses :


1
votes

Vous pouvez le faire en utilisant listDir code> et endswith code> pour identifier les caractères à la fin d'une chaîne:

filetypes = ['cpp', 'hpp', 'ipp']
dir = "target directory"

files = [[f for f in os.listdir(dir) if f.endswith(type_)] for type_ in filetypes]


0 commentaires

1
votes

Je pense que ce que vous recherchez est os.walk () : xxx

Plus d'informations sur OS.Walk () Ici: https://www.TutorialSpoint.com/python/os_walk.htm


0 commentaires

2
votes

Il suffit d'utiliser la fonction pathlib.path.rglob xxx


0 commentaires