Erreur de fichier introuvable dans Python lors de l'utilisation de os.listdir
L'itération sur les fichiers d'un répertoire à l'aide de os.listdir() peut déclencher un FileNotFoundError, même lorsque le fichier existe. Cette erreur se produit car os.listdir() renvoie uniquement le nom du fichier, pas le chemin complet.
Considérez le code suivant :
import os path = r'E:/somedir' for filename in os.listdir(path): f = open(filename, 'r')
Une fois exécuté, ce code générerait une FileNotFoundError pour le fichier 'foo.txt', même s'il existe dans le répertoire spécifié.
Le problème réside dans le fait que os.listdir() renvoie uniquement la partie du nom de fichier, telle que « foo.txt ». Cependant, la fonction open() nécessite le chemin complet du fichier, y compris le chemin du répertoire, tel que 'E:/somedir/foo.txt'.
Pour résoudre ce problème, os.path.join( ) peut être utilisé pour ajouter le chemin du répertoire au nom du fichier :
path = r'E:/somedir' for filename in os.listdir(path): with open(os.path.join(path, filename)) as f: # process the file
Le bloc with peut également être utilisé pour fermer automatiquement le 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!