首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PIL没有ImageTk属性

PIL没有ImageTk属性
EN

Stack Overflow用户
提问于 2019-10-13 20:41:23
回答 1查看 1.1K关注 0票数 3

为什么这会起作用:

代码语言:javascript
复制
...
from PIL import Image, ImageTk
.... 
img = ImageTk.PhotoImage(Image.open("One.jpg"))
...

但这是

代码语言:javascript
复制
...
import PIL as p
.... 
img = p.ImageTk.PhotoImage(p.Image.open("One.jpg"))
...

告诉我module 'PIL' has no attribute 'ImageTk'

我认为我可以将PIL作为p导入,然后在我的代码中使用PIL中的任何内容,只要它前面有p。

我想避免使用from PIL import Image, ImageTk,因为我喜欢了解代码来自哪些模块的上下文。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-13 21:49:47

PIL的__init__.py是一个空的存根,这是很常见的。它不会导入所有模块。

因此,当您尝试:from PIL import ImageTk它时,在PIL包文件夹中搜索并找到文件ImageTk.py并导入该文件。

但是,当您尝试:PIL.ImageTk时,您实际上是在对PIL模块进行属性查找。

为了避免混淆,您可以这样做:

from PIL import Image as Pil_image, ImageTk as Pil_imageTk

所以你给类起了一个名字,告诉你它是从哪里来的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58363668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档