我已经为这个错误苦苦挣扎了好几天,但进展甚微。基本上,我试图读入图像文件,然后使用 PIL 对其执行特定操作。 (我的最终目标是执行 PIL 粘贴操作)。
然而,每当我加载图像,然后调用它的 load() 方法(诸如 show()、paste()、resize() 等操作都调用 load() 方法)时,我会得到一个奇怪的 NoneType没有属性读取错误。
我正在使用 PIL 1.1.7,并在 OSX 10.6 和 Ubuntu 10.04 上重现了此错误。下面是我可以输入以产生错误的最基本的 ipython 代码。
有人见过这种情况吗?
任何帮助深表感谢。
In [1]: import os
In [2]: try:
...: from PIL import Image
...: except ImportError:
...: import Image
...:
In [3]: from django.conf import settings
In [4]: bgImageFileHash = "d41d8cd98f00b204e9800998ecf8427e"
In [5]: bgImageFilePath = os.path.join(settings.MEDIA_ROOT,'uploads',"%s.jpg" % (bgImageFileHash))
In [6]: print bgImageFilePath
------> print(bgImageFilePath )
/Users/test/Sites/env/mysite/proj/mysite/../mysite/media/uploads/d41d8cd98f00b204e9800998ecf8427e.jpg
In [7]: bgImageImage=Image.open(bgImageFilePath)
In [8]: bgImageImage.verify()
In [9]: bgImageImage.load()
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/Users/test/Sites/env/mysite/proj/mysite/<ipython console> in <module>()
/Users/test/Sites/env/mysite/lib/python2.6/site-packages/PIL/ImageFile.pyc in load(self)
168 read = self.load_read
169 except AttributeError:
--> 170 read = self.fp.read
171
172 try:
AttributeError: 'NoneType' object has no attribute 'read'
也许删除对 verify() 的调用,或者在 verify() 和 load() 之间再次调用 open() ?
关于 verify() 的文档here says:
...如果使用此方法后需要加载图像,则必须重新打开图像文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)