【问题标题】:Python PIL load throwing AttributeError: 'NoneType' object has no attribute 'read'Python PIL 负载抛出 AttributeError:“NoneType”对象没有属性“读取”
【发布时间】:2010-08-02 06:41:53
【问题描述】:

几天来,我一直在努力解决这个错误,但进展甚微。基本上,我正在尝试读取图像文件,然后使用 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'

【问题讨论】:

    标签: python load python-imaging-library


    【解决方案1】:

    也许移除对 verify() 的调用,或者在 verify() 和 load() 之间再次调用 open()?

    verify() here 上的文档说:

    ...如果使用此方法后需要加载图片,必须重新打开图片文件。

    【讨论】:

    • 我认为做到了!我不知道为什么我觉得有必要把那个验证放在那里。仍在测试,但到目前为止结果还不错。谢谢!
    • 我认为这是当前的文档说明:pillow.readthedocs.io/en/3.0.x/handbook/…
    【解决方案2】:

    这是一件愚蠢的事情,但我遇到了同样的错误并花了至少一个小时试图找到解决方案。然而问题实际上是我的,我传递的文件名是空白的,并导致它抛出这个错误......呃......如果图书馆说“哦,你错过了文件名”会很好“NoneType”对象的没有属性“读取”。这是在树莓派和 python 2.7 上,仅供参考。

    【讨论】:

      猜你喜欢
      • 2015-07-31
      • 1970-01-01
      • 2017-12-28
      • 2017-10-05
      • 2018-03-17
      • 2019-01-10
      • 2013-08-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多