J'ai un dossier contenant quelques fichiers de types différents ( 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> .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>
file_list = [f for f in listdir(os.getcwd()) if isfile(join(os.getcwd(), f))]
3 Réponses :
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]
Je pense que ce que vous recherchez est Plus d'informations sur os.walk () code>:
OS.Walk () Code > Ici: https://www.TutorialSpoint.com/python/os_walk.htm p> p>
Il suffit d'utiliser la fonction pathlib.path.rglob code>
Est-ce que cela répond à votre question? Recherchez tous les fichiers d'un répertoire avec extension .txt. à Python