2016-05-04 5 views
0

Dies ist mein Code verwendet, um das Format der Dateien in vielen Ordnern gespeichert zu überprüfen:IOError wenn imghdr Modul in Python mit

check_image_format():

import imghdr as ih 

def check_image_format(image_dir): 
    for root, dirs, files in os.walk(image_dir): 
     for image in files: 
      format = ih.what(image) 
      if format != 'jpeg' or format != 'png': 
       return -1 
    return 0 

main():

mein img_dir ist das Stammverzeichnis von anderen drei Unterordnern, die die Bilder enthalten Ich möchte das überprüfen. Wenn ich starten Sie das Programm, das ich diesen Fehler erhalten:

IOError: [Errno 2] No such file or directory: img_1.jpg 

Aber die Datei vorhanden ist und in einem Unterordner ist. Was ist der Grund für diesen Fehler?

Antwort

1

Sie benötigen für Ihr aktuelles Bildpfad absoluten Pfad zu bauen:

import imghdr as ih 

def check_image_format(image_dir): 

    for root, dirs, files in os.walk(image_dir): 
     for image in files: 
      format = ih.what(os.path.join(root, image)) 
      if format != 'jpeg' or format != 'png': 
       return -1 
    return 0 
+0

Danke, es funktioniert! Ich habe das absolute Pfadproblem vergessen. – Kyrol

Verwandte Themen