通常,图书馆PIL按以下方式连接:
from PIL import ImageTk, Image 我想用这样的方式连接起来:
import PIL但我的版本行不通。下面是代码:
import os, sys
import tkinter
import PIL
main = tkinter.Tk()
catalogImg1 = 'imgs'
nameImg1 = 'n.jpg'
pathImg1 = os.path.join(catalogImg1, nameImg1)
openImg = PIL.Image.open(pathImg1)
renderImg = PIL.ImageTk.PhotoImage(openImg)
tkinter.Label(main, image=renderImg).pack()
main.mainloop()错误信息是:
追溯(最近一次调用):File "C:\Python33\projects\PIL_IMAGETK\ImageTK_photoimage -копия.py",第11行,在openImg = PIL.Image.open(pathImg1) AttributeError中:‘模块’对象没有属性'Image‘
发布于 2014-02-10 09:03:25
导入包(PIL)不会自动导入子包、子模块(PIL.Image、PIL.ImageTk)。(除非包本身也这样做)。
显式导入子模块。
替换以下一行:
import PIL通过以下方式:
import PIL.Image
import PIL.ImageTk发布于 2014-02-10 09:03:40
这是因为,Image是PIL包中的子模块,也就是说它不是函数或类。导入包不会自动导入其子模块。
如果要使用PIL命名空间,可以导入模块,如下所示:
import PIL.Image
openImg = PIL.Image.open(pathImg1)如果要导入PIL的所有子模块,可以执行以下操作
from PIL import *
openImg = Image.open(pathImg1)https://stackoverflow.com/questions/21672580
复制相似问题