我几天来一直在努力解决这个错误,但进展甚微。基本上,我正在尝试读取图像文件,然后使用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'
答案 0 :(得分:7)
答案 1 :(得分:1)
这是一个愚蠢的事情,但我遇到了同样的错误,花了至少一个小时试图找到解决方案。然而问题实际上是我的,我传递的文件名是空白的并导致它抛出这个错误........呃..如果图书馆说“哦,你错过了文件名”本来不错'NoneType'对象没有属性'read'。这只是一个覆盆子pi和python 2.7只是仅供参考。