Maison >développement back-end >Tutoriel Python >Pourquoi Python génère-t-il une FileNotFoundError lors de l'ouverture de fichiers répertoriés par « os.listdir » ?

Pourquoi Python génère-t-il une FileNotFoundError lors de l'ouverture de fichiers répertoriés par « os.listdir » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-20 16:56:17676parcourir

Why Does Python Raise a FileNotFoundError When Opening Files Listed by `os.listdir`?

Python déclenche FileNotFoundError lors de la tentative d'ouverture d'un fichier répertorié par os.listdir

En Python, tentative de itération sur des fichiers dans un répertoire à l'aide d'os .listdir peut générer une FileNotFoundError, malgré le fichier existant.

En effet, os.listdir renvoie uniquement le nom du fichier sans le chemin du répertoire. Par conséquent, lorsque open tente d'accéder au fichier en utilisant uniquement le nom de fichier, il échoue car le fichier est introuvable dans le répertoire actuel.

Pour résoudre ce problème, utilisez os.path.join pour ajouter le répertoire en préfixe. chemin d'accès à chaque nom de fichier renvoyé par os.listdir :

path = r'E:/somedir'

for filename in os.listdir(path):
    with open(os.path.join(path, filename)) as f:
        # process the file

# Ensure file closure

De plus, il est prudent d'utiliser un bloc with pour gérer automatiquement la fermeture du fichier.

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