"Unknown extension" im "speichern" - Funktion von PIL wegen leere array-ERWEITERUNG
Ich bin Recht neu bei python und habe ein problem mit der save
Funktion des Kissens Gabel von PIL.
Mit diesem minimal-Beispiel
import Image
im = Image.new("RGB", (200, 30), "#ddd")
im.save("image.png")
Bekomme ich die folgende Fehlermeldung:
File "/usr/lib64/python2.7/site-packages/PIL/Image.py", line 1667, in save
raise KeyError(ext) # unknown extension
KeyError: '.png'
Werden die entsprechenden Zeilen in der save
Funktion sind
preinit()
[...]
try:
format = EXTENSION[ext]
except KeyError:
raise KeyError(ext) # unknown extension
Ich schaute auf die EXTENSION
array und erkannt, dass es leer ist, obwohl es sollte initialisiert werden, in preinit()
zum Beispiel from PIL import PngImagePlugin
. PngImagePlugin.py
Anrufe Image.register_extension("PNG", ".png")
. Beobachten Sie das array innerhalb dieser Funktion bzw. innerhalb PngImagePlugin
es ist in der Tat gefüllt mit Datei-Erweiterungen.
Setzen print(EXTENSION)
Recht, bevor die try-except-block jedoch zeigt eine leere EXTENSION
array.
(Gleiche Problem mit der SAVE
array ein paar Zeilen nach unten in die save
Funktion.)
Jede Hilfe ist willkommen.
EDIT: ich habe vor kurzem ein Upgrade von OpenSuse 13.1. zu 13.2. Es funktionierte gut in 13.1, aber nicht in 13.2.
- Dies funktioniert für mich. In deinem Fall, versuchen Sie es mit
im.save("image.png", format='PNG')
und sehen, ob das funktioniert für Sie. - Dies ist nicht arbeiten entweder. Der entsprechende Abschnitt wird übersprungen Image.py aber dann habe ich den gleichen Fehler mit der
SAVE
array:File "/usr/lib64/python2.7/site-packages/PIL/Image.py", line 1674, in save save_handler = SAVE[format.upper()] # unknown format KeyError: 'PNG''
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie, dies zu schreiben, statt: