2016-05-16 5 views
-1

Wenn ich dieses Skript versuchen ausgeführt wird:fp = builtins.open (Dateiname "rb") - Fehler

from PIL import Image 
import os 

files = os.listdir('mri') 
for file in files: 
    img = Image.open(file) 

bekomme ich folgende Fehlermeldung:

Traceback (most recent call last): 
    File "resize_image.py", line 6, in <module> 
    img = Image.open(file) 
    File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2258, in open 
    fp = builtins.open(filename, "rb") 
IOError: [Errno 2] No such file or directory: '6.jpg' 

Ich stellte sicher, dass 6. jpg ist verfügbar. Und es scheint, dass ich für jedes Bild an diesem Ort einen solchen Fehler erhalte.

Wie kann ich das Problem beheben?

Danke.

+0

Stellen Sie sicher, dass es verfügbar ist _again_, weil ich Ihnen jetzt sagen kann, dass es nicht ist. Beheben Sie das Problem, indem Sie unbedingt sicherstellen, dass die Datei vorhanden ist. Überprüfen Sie Arbeitsverzeichnisse, absolute Pfade und so weiter. Python hat sich nicht plötzlich dazu entschieden, dich anzulügen und deine Akte mit einer Decke abzudecken, um so zu tun, als wäre sie nicht da. – TigerhawkT3

+0

Vielen Dank für Ihren Kommentar. Ich habe wirklich sichergestellt, dass das Bild verfügbar ist. Ich entfernte das Bild und bekam den gleichen Fehler für das nächste Bild im Ordner – Simplicity

+0

Das ist nicht, was ich überhaupt meinte. Es ist nicht so, als würde eine Datei einen Tarnanzug tragen, aber der Rest ist leicht zu sehen. Wenn Sie also das erste entfernen und trotzdem ein Problem bekommen, bedeutet das, dass Python Sie anlügt. Wie gesagt, überprüfen Sie, in welches Verzeichnis Sie Python suchen, und überprüfen Sie dann, in welchem ​​Verzeichnis es sich gerade befindet. Dans Antwort unten weist darauf hin, dass Sie einen relativen Pfad verwenden, wenn sich die Dateien in einer anderen Ordnerebene befinden. – TigerhawkT3

Antwort

1

Die Dateinamen von os.listdir sind relativ zum angegebenen Verzeichnis. Sie müssen vervollständigt werden, indem der dirname mit ihrem Basisnamen verknüpft wird.

files = os.listdir('my_folder') 
for file in files: 
    img = Image.open(os.path.join('my_folder', file)) 
Verwandte Themen