Comment utiliser pathlib pour effectuer une itération récursive sur tous les sous-répertoires d'un répertoire donné?
p = Path('docs')
for child in p.iterdir(): child
semble seulement parcourir les enfants immédiats d'un répertoire donné.
Je sais que cela est possible avec os.walk()
ou glob
, mais je souhaite utiliser pathlib car j'aime travailler avec les objets path.
Vous pouvez utiliser la méthode glob
d'un objet Path
:
p = Path('docs')
for i in p.glob('**/*'):
print(i.name)
pathlib
a la méthode glob
où nous pouvons fournir un motif en argument.
Par exemple: Path('abc').glob('**/*.txt')
- Il recherchera le dossier en cours abc
et tous les autres sous-répertoires de manière récursive pour localiser tous les fichiers txt
.
Vous pouvez également utiliser Path.rglob
(remplace le **
initial):
p = Path("docs")
for p in p.rglob("*"):
print(p.name)