与Python的Image.open()
我的代码读取无法打开图像:在控制台与Python的Image.open()
⇝ AttributeError: type object 'Image' has no attribute 'open'
但是:
import Image
def generateThumbnail(self, width, height):
"""
Generates thumbnails for an image
"""
im = Image.open(self._file)
当我调用这个函数,我得到一个错误
import Image
im = Image.open('test.jpg')
我没问题。 有什么建议吗? 谢谢!
奇怪的是,你得到一个关于图像是一个类型对象,而不是一个模块的异常。 'Image'被分配到代码的其他地方吗?
这是一个愚蠢的问题,对不起。我班的名字是Image,所以有冲突。感谢您的帮助! – ensnare 2010-04-30 16:25:08
请问您的实际代码有不正确的语句:
from Image import Image
或
from Image import *
图像模块包含一个图像类,但它们当然是不同的(该模块具有开放的方法) 。如果您使用这两种形式中的任何一种,Image将错误地引用该类。
编辑:另一种可能性是你自己定义一个冲突的图像名称。你有你自己的图像类吗?如果是这样,请重命名它。
嗨 - 我试过这两个都没有成功。 – ensnare 2010-04-30 03:22:26
这些行是错误的可能原因,而不是建议。如果你之前没有使用过这样的代码,Chris可能是对的。图像在其他地方被分配了错误的值(也许你有自己的Image类?) – 2010-04-30 03:25:59
这是你已经创建了一个(新式)类中调用图片,或从别的地方进口它(也许不经意间,从一个“*”进口),在某些时候是一致导入“图片”后:
>>> import Image
>>> Image.open
<function open at 0x99e3b0>
>>> class Image(object): pass
...
>>> Image.open
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: type object 'Image' has no attribute 'open'
>>>
寻找这个。你可以检查“打印图像”,这应该给你类似的东西:
>>> print Image
<class 'foo.Image'>
>>>
你可以发布整个文件,给你这个错误? – 2010-04-30 04:24:24