Maison > développement back-end > Tutoriel Python > Comment puis-je rechercher des fichiers de manière récursive en Python ?

Comment puis-je rechercher des fichiers de manière récursive en Python ?

Linda Hamilton
Libérer: 2024-12-12 20:21:17
original
625 Les gens l'ont consulté

How Can I Recursively Find Files in Python?

Recherche récursive de fichiers à l'aide de Python

En Python, vous pouvez récupérer efficacement tous les fichiers d'un répertoire et de ses sous-répertoires de manière récursive, ce qui permet d'obtenir un fichier complet exploration.

Une méthode consiste à utiliser pathlib.Path().rglob(). Pour les répertoires ayant une profondeur de plus d'un niveau, cette approche récupère efficacement tous les fichiers correspondants. Par exemple, l'extrait de code suivant démontre son application :

from pathlib import Path

for path in Path('src').rglob('*.c'):
    print(path.name)
Copier après la connexion

Alternativement, la fonction glob.glob(), couplée à l'argument recursive=True, peut être utilisée pour la recherche récursive de fichiers :

from glob import glob

for filename in glob('src/**/*.c', recursive=True):
    print(filename) 
Copier après la connexion

Cependant, pour les scénarios où les fichiers commençant par un point (par exemple, les fichiers cachés) doivent être inclus, os.walk() fournit une solution viable. solution :

import fnmatch
import os

matches = []
for root, dirnames, filenames in os.walk('src'):
    for filename in fnmatch.filter(filenames, '*.c'):
        matches.append(os.path.join(root, filename))
Copier après la connexion

Avec ces méthodes, vous pouvez naviguer efficacement dans les structures de répertoires et récupérer des fichiers selon vos critères spécifiés. Que vos fichiers soient profondément imbriqués ou incluent des éléments cachés, Python fournit des outils robustes pour vos besoins de découverte de fichiers.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal