"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''
InformationsquelleAutor DAH | 2015-02-13
Schreibe einen Kommentar