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

Patricia Arquette
Libérer: 2024-10-28 08:35:29
original
938 Les gens l'ont consulté

 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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

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