Python PIL加载抛出属性错误:';非类型';对象没有属性';阅读';
我已经为这个错误挣扎了好几天,但进展甚微。基本上,我试图读入一个图像文件,然后使用PIL对其执行特定的操作。(我的最终目标是执行PIL粘贴操作) 但是,每当我加载图像,然后对其调用load()方法(如show()、paste()、resize()等操作。所有操作都调用load()方法),我都会得到一个奇怪的NoneType,即没有属性读取错误 我正在使用PIL1.1.7,并且在OSX10.6和Ubuntu 10.04上都复制了这个错误。下面是我可以输入以产生错误的最基本的ipython代码 以前有人见过这种情况吗 非常感谢您的帮助Python PIL加载抛出属性错误:';非类型';对象没有属性';阅读';,python,load,python-imaging-library,Python,Load,Python Imaging Library,我已经为这个错误挣扎了好几天,但进展甚微。基本上,我试图读入一个图像文件,然后使用PIL对其执行特定的操作。(我的最终目标是执行PIL粘贴操作) 但是,每当我加载图像,然后对其调用load()方法(如show()、paste()、resize()等操作。所有操作都调用load()方法),我都会得到一个奇怪的NoneType,即没有属性读取错误 我正在使用PIL1.1.7,并且在OSX10.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'
[1]中的:导入操作系统
在[2]中:尝试:
…:从PIL导入图像
…:除恐怖外:
…:导入图像
...:
在[3]中:从django.conf导入设置
在[4]中:bgmagefilehash=“d41d8cd98f00b204e9800998ecf8427e”
在[5]中:bgImageFilePath=os.path.join(settings.MEDIA_ROOT,'uploads',%s.jpg“%(bgImageFileHash))
在[6]中:打印bgImageFilePath
------>打印(bgImageFilePath)
/用户/test/Sites/env/mysite/proj/mysite/。/mysite/media/uploads/d41d8cd98f00b204e9800998ecf8427e.jpg
在[7]中:bgImageImage=Image.open(bgImageFilePath)
在[8]:bgImageImage.verify()中
在[9]:bgImageImage.load()中
---------------------------------------------------------------------------
AttributeError回溯(最近一次呼叫上次)
/用户/test/Sites/env/mysite/proj/mysite/in()
/加载中的Users/test/Sites/env/mysite/lib/python2.6/site-packages/PIL/ImageFile.pyc(self)
168读取=自加载\u读取
169除属性错误外:
-->170读取=self.fp.read
171
172尝试:
AttributeError:“非类型”对象没有属性“读取”
可能删除对verify()的调用,或者在verify()和load()之间再调用open()
verify()上的文档说明:
…如果使用此方法后需要加载图像,则必须重新打开图像文件
这是一件愚蠢的事情,但我遇到了同样的错误,并花了至少一个小时试图找到解决方案。然而问题实际上是我的,我传递的文件名是空的,导致它抛出这个错误。。。。。。。。啊。。如果库中说“哦,您缺少文件名”而不是“NoneType”,则会更好。对象没有属性“read”。这是在raspberry pi和python 2.7上发布的,仅供参考。我想就是这样!我不知道为什么我觉得有必要把它放进去。仍在测试中,但到目前为止效果良好。非常感谢。我认为这是当前的文档说明: