Ich bin ziemlich neu zu Python und habe ein Problem mit der save
Funktion der Kissengabel von PIL.'Unbekannte Erweiterung' in Speicherfunktion von PIL wegen leerer EXTENSION array
Mit diesem minimal Beispiel
import Image
im = Image.new("RGB", (200, 30), "#ddd")
im.save("image.png")
ich die folgenden Fehler:
File "/usr/lib64/python2.7/site-packages/PIL/Image.py", line 1667, in save
raise KeyError(ext) # unknown extension
KeyError: '.png'
Die entsprechenden Zeilen in der save
Funktion sind
preinit()
[...]
try:
format = EXTENSION[ext]
except KeyError:
raise KeyError(ext) # unknown extension
I am EXTENSION
Array aussehen und festgestellt, dass es leer ist, obwohl es sollte B. in preinit()
durch zum Beispiel from PIL import PngImagePlugin
initialisiert werden. PngImagePlugin.py
Anrufe Image.register_extension("PNG", ".png")
. Beobachten Sie das Array innerhalb dieser Funktion oder innerhalb PngImagePlugin
ist es in der Tat mit Dateierweiterungen gefüllt.
Setzen Sie print(EXTENSION)
direkt vor dem try-except-Block zeigt jedoch eine leere EXTENSION
Array.
(gleiches Problem mit dem SAVE
Array ein paar Zeilen nach unten in der save
Funktion.)
Jede Hilfe sehr geschätzt wird.
EDIT: Ich habe vor kurzem von OpenSuse 13.1 aufgerüstet. bis 13.2. Es funktionierte gut in 13.1, aber nicht in 13.2.
Dies funktioniert für mich. Versuchen Sie in Ihrem Fall 'im.save (" image.png ", format = 'PNG')' zu verwenden und sehen Sie, ob das für Sie funktioniert. –
Dies funktioniert auch nicht. Der entsprechende Abschnitt wird in Image.py übersprungen, aber dann habe ich den gleichen Fehler mit dem 'SAVE' Array:' File '/usr/lib64/python2.7/site-packages/PIL/Image.py ", Zeile 1674, in Speichern save_handler = SPEICHERN [format.upper()] # unbekanntes Format KeyError: 'PNG''' – DAH