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
Libérer: 2024-11-20 16:56:17
original
649 Les gens l'ont consulté

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

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!

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