2016-04-20 1 views
0

J'ai un répertoire avec des images que je dois vérifier. Mon code estErreur sur le traitement des fichiers dans un répertoire

import imghdr as ih 
import os 

path = 'path_to_dir' 

def check_format(path): 
    for file in os.listdir(path): 
     format = ih.what(file) 
     print(format) 
     if format != 'jpeg' and format != 'png': 
      print("format error...\n") 
      return -1 
    return 0 

J'exécute et j'ai cette erreur:

... la ligne 14, en ce que f = ouvert (fichier, 'rb') IOError: [Errno 2] No such fichier ou répertoire: 'world_cup.jpg'

mais le fichier world_cup.jpg est un fichier dans le répertoire.

+0

essayez d'ouvrir 'os.path.join (chemin, fichier)' au lieu de simplement 'file' –

+0

Vous n'êtes pas dans le répertoire. Vous pouvez résoudre ce problème de plusieurs façons. 1. Utilisez 'glob', 2.' open (os.path.join (chemin, fichier)) ' – sberry

Répondre

2

Change:

for file in os.listdir(path): 
    format = ih.what(file) 

dans:

for file in os.listdir(path): 
    format = ih.what(os.path.join(path, file))