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
DDDoriginal
2024-12-16 21:42:14559parcourir

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

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)

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!

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