Maison > développement back-end > Tutoriel Python > Comment puis-je parcourir efficacement les fichiers d'un répertoire à l'aide de Python ?

Comment puis-je parcourir efficacement les fichiers d'un répertoire à l'aide de Python ?

DDD
Libérer: 2024-12-16 21:42:14
original
442 Les gens l'ont consulté

How Can I Efficiently Iterate Through Files in a Directory Using Python?

Itérer sur les fichiers d'un répertoire

Introduction :
Itérer sur les fichiers d'un répertoire est un élément crucial tâche pour diverses applications logicielles. Cet article fournit des approches efficaces pour y parvenir en utilisant Python, discutant à la fois de Python 3.6 et des méthodes pathlib récursives.

Solution pour Python 3.6 utilisant os :

  1. Importer os pour accéder au module du système d'exploitation.
  2. Définissez le chemin du répertoire en tant qu'objet chaîne dans la variable directory_in_str.
  3. Utilisez os.listdir(directory) pour répertorier tous les fichiers du répertoire.
  4. Parcourez chaque fichier à l'aide d'une boucle for et extrayez son nom de fichier à l'aide de os.fsdecode(file).
  5. Vérifiez l'extension du fichier en utilisant Endswith(".asm") ou Endswith(".py") pour identifier les fichiers de intérêt.
  6. Effectuer les actions nécessaires sur les fichiers identifiés.

Exemple de code :

import os

directory = os.fsencode(directory_in_str)
    
for file in os.listdir(directory):
    filename = os.fsdecode(file)
    if filename.endswith(".asm") or filename.endswith(".py"): 
        # print(os.path.join(directory, filename))
        continue
    else:
        continue
Copier après la connexion

Solution utilisant pathlib pour Itération récursive :

  1. Importer le chemin depuis pathlib module.
  2. Créez une liste de chemins en appelant Path.glob('**/*.asm') ou Path.rglob('*.asm') sur le chemin du répertoire.
  3. Parcourez chaque chemin dans la liste des chemins.
  4. Convertissez chaque objet chemin en chaîne en utilisant str(path) pour plus traitement.

Exemple de code :

from pathlib import Path

pathlist = Path(directory_in_str).glob('**/*.asm')
for path in pathlist:
    # because path is object not string
    path_in_str = str(path)   
    # print(path_in_str)
Copier après la connexion

Ces méthodes offrent des solutions efficaces pour itérer sur les fichiers d'un répertoire donné, permettant aux développeurs d'effectuer diverses opérations sur types de fichiers spécifiques de manière efficace.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal