Maison  >  Article  >  développement back-end  >  Comment rechercher efficacement des fichiers en Python : un guide sur os.walk et la correspondance de modèles

Comment rechercher efficacement des fichiers en Python : un guide sur os.walk et la correspondance de modèles

Patricia Arquette
Patricia Arquetteoriginal
2024-10-28 08:35:29864parcourir

 How to Efficiently Find Files in Python: A Guide to os.walk and Pattern Matching

Trouver un fichier en Python

Localiser un fichier peut être difficile, surtout lorsque son emplacement varie selon les machines des utilisateurs. N'ayez crainte, Python propose une solution à cette énigme : la fonction os.walk.

os.walk() prend deux arguments : le chemin du répertoire que vous souhaitez rechercher et une fonction appelée pour chaque répertoire. , sous-répertoire et fichier rencontrés.

Trouver la première correspondance

Pour localiser le premier fichier correspondant au nom fourni, utilisez le code suivant :

<code class="python">import os

def find(name, path):
    for root, dirs, files in os.walk(path):
        if name in files:
            return os.path.join(root, name)</code>

Recherche de toutes les correspondances

Si vous cherchez à trouver tous les fichiers correspondant à un nom spécifique, utilisez ce code :

<code class="python">def find_all(name, path):
    result = []
    for root, dirs, files in os.walk(path):
        if name in files:
            result.append(os.path.join(root, name))
    return result</code>

Modèles correspondants

Pour faire correspondre des fichiers en fonction d'un modèle, utilisez cet extrait :

<code class="python">import os, fnmatch
def find(pattern, path):
    result = []
    for root, dirs, files in os.walk(path):
        for name in files:
            if fnmatch.fnmatch(name, pattern):
                result.append(os.path.join(root, name))
    return result

find('*.txt', '/path/to/dir')</code>

Grâce à ces méthodes, vous pouvez facilement localiser des fichiers dans n'importe quel répertoire, ce qui rend la gestion des fichiers un jeu d'enfant, quelles que soient leurs variations. emplacements.

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!

Déclaration:
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