Image.open()无法识别python脚本文件中的图像文件

时间:2016-05-09 08:02:09

标签: python image python-2.7 python-imaging-library pillow

我正在尝试执行此脚本

from PIL import Image
im = Image.open("image.jpg")
nx, ny = im.size

我在python shell中运行它时工作正常

pytesser_v0.0.1]#env python
>>> from PIL import Image
>>> im = Image.open("image.jpg")
<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=46x24 at 0x7FA4688F16D0>

但是当我把它放在一些test.py文件中并运行它像 python test.py 我收到此错误

File "test1.py", line 17, in <module>
    im = Image.open("image.jpg")
  File "/usr/local/python.2.7.11/lib/python2.7/site-packages/PIL/Image.py", line 2309, in open
    % (filename if filename else fp))
IOError: cannot identify image file 'image.jpg'

请帮我解决这个问题,谢谢

PS:之前我从Imaging-1.1.7 setup.py安装了PIL,后来我安装了Pillow,我认为这个问题出在机器上PIL和Pillow库的相互存在上。

2 个答案:

答案 0 :(得分:0)

确保“image.jpg”与“test1.py”位于同一目录中。

如果不是,那么您可以移动它,或将正确的目录放在Image.open()内。

答案 1 :(得分:0)

我有同样的问题。

这是因为test.py没有相同的路径名。如果您在同一文件夹中工作,它将起作用。

但是,我发现的解决方案是放入完整路径+文件名,以使其清晰。

"c:\...fullpath...\image.jpg"

您可以这样做:

from PIL import Image
import os

curDir = os.getcwd()
fileName = "image.jpg"
fn = curDir + "\\" + fileName

print(fn)

image = Image.open(fn)
image.show()

这有效。如果您发现更好的话,请告诉我。