kelas Gambar tidak memiliki atribut 'terbuka' [duplikat]

Kemungkinan Duplikat:
img = Image.open(fp) AttributeError: class Image tidak memiliki atribut 'open'

Jadi saya mencoba melihat gambar dengan python dengan tkinter. Saya menginstal PIL dan saya mencoba membuka gambar tetapi saya terus mendapatkan kesalahan atribut yang mengatakan "Gambar kelas tidak memiliki atribut 'terbuka'

from __future__ import division
from PIL import Image
from Tkinter import *
import random

img = Image.open("majestic creature.jpeg").convert("RGB")

Ini bukan semua kode yang saya miliki tetapi ini adalah bagian yang tampaknya bermasalah dengan program ini.


person Clockwork    schedule 11.11.2012    source sumber
comment
Saya sudah melihat postingan itu. Saya mencoba solusinya dan itu memberi saya kesalahan lain: IOError: tidak dapat mengidentifikasi file gambar   -  person Clockwork    schedule 12.11.2012
comment
mengedit komentar untuk memasukkan kesalahan. Tekan enter sebelum waktunya.   -  person Clockwork    schedule 12.11.2012
comment
apakah Anda yakin itu bukan majestic creature.jpg (bukan jpeg) atau salah ketik nama file?   -  person tckmn    schedule 12.11.2012
comment
tidak, saya baru saja memeriksa, itu jpg. Saya mencoba mengubahnya ke jpeg dan saya mendapat kesalahan berbeda yang mengatakan: IOError: [Errno 2] Tidak ada file atau direktori seperti itu: 'makhluk agung.jpeg'   -  person Clockwork    schedule 12.11.2012
comment
tunggu, di kode Anda itu jpeg. Anda mengatakan di komentar bahwa nama file diakhiri dengan jpg. Apakah itu masalahnya? Juga, itu terbilang megah. Apakah itu salah ketik atau nama filenya seperti itu?   -  person tckmn    schedule 12.11.2012
comment
Jadi ada beberapa kebingungan dalam jenis file, tapi saya mengubahnya untuk memastikan konsisten dan masih memberi saya kesalahan: IOError: tidak dapat mengidentifikasi file gambar   -  person Clockwork    schedule 12.11.2012
comment
um... maaf, saya tidak tahu tentang ini sekarang   -  person tckmn    schedule 12.11.2012
comment
Tahukah Anda jika ada sumber daya yang dapat Anda tawarkan untuk membantu saya? Ini untuk tugas dan saya telah mencoba mencari tahu kesalahan ini selama berjam-jam tanpa kemajuan.   -  person Clockwork    schedule 12.11.2012
comment
Ini mungkin sedikit membantu. Jika Anda membagi pernyataan menjadi dua baris (baris pertama membuka gambar, baris kedua mengonversi ke rgb) mungkin akan lebih mudah untuk menemukan masalah Anda. Juga merupakan keluhan kecil tetapi Anda mungkin ingin menghindari penggunaan nama file dengan spasi di dalamnya   -  person Anake    schedule 12.11.2012
comment
Jika Anda mengetahui tentang pertanyaan tertaut, yang sebenarnya mencakup masalah yang Anda ajukan dalam pertanyaan tersebut, lalu mengapa Anda menanyakan pertanyaan lain tentang topik yang sama meskipun Anda memiliki kesalahan yang sama sekali berbeda?   -  person poke    schedule 12.11.2012
comment
Harap tempelkan penelusuran balik Anda, jangan ditranskripsikan.   -  person Matthew Trevor    schedule 12.11.2012


Jawaban (1)


Dari kelihatannya yang anda sampaikan yaitu This is not all of the code.
Anda atau importir lainnya telah mendeklarasikan beberapa variabel/kelas bernama Image dan ini telah menimpa kelas Image yang diimpor oleh PIL.

Untuk secara khusus menggunakan kelas PIL Image gunakan:

img = PIL.Image.open("majestic creature.jpeg").convert("RGB")
person Serdalis    schedule 11.11.2012
comment
Saya tidak tahu mengapa tetapi jika saya mengimpor from Tkinter import* terlebih dahulu dan sebelum from PIL import Image itu berhasil - person Marcelo Gazzola; 28.01.2021
comment
Mungkin karena TKinter memiliki kelas gambar yang ditimpa oleh impor PIL ketika setelah from Tkinter import *. Kebetulan saya selalu mendorong ekspor eksplisit karena alasan ini. epydoc.sourceforge.net/stdlib/Tkinter-module.html - person Serdalis; 29.01.2021