图像无法使用python映像库打开

时间:2013-07-22 00:10:59

标签: python python-2.7 python-3.x python-imaging-library

我刚刚安装了Python成像库并开始学习它,但我无法打开图像文件。

    import Image
    im = Image.open("Desert.jpg")
    print im.format, im.size, im.mode
    im.show()

图像属性打印得很好但是当在Windows查看器中打开图像时,我收到错误

     File "C:\Python27\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py" 
     ,line 325, in RunScript           
     exec codeObject in __main__.__dict__
     File "C:\Users\Hassan\Documents\imtest.py", line 2, in <module>
     im = Image.open('Desert.jpg')
     File "C:\Python27\lib\site-packages\PIL\Image.py", line 1952, in open
     fp = __builtin__.open(fp, "rb")
     IOError: [Errno 2] No such file or directory: 'Desert.jpg' 

我已将文件Desert.jpg放在保存此脚本的同一目录中。我该怎么办才能打开此文件。

1 个答案:

答案 0 :(得分:4)

使用绝对路径。您可以获取脚本的路径来创建该路径:

import os.path

script_dir = os.path.dirname(os.path.abspath(__file__))
im = Image.open(os.path.join(script_dir, 'Desert.jpg'))

否则,相对文件(没有绝对路径的任何内容)相对于当前工作目录打开,这完全取决于您如何启动脚本和操作系统默认值。

__file__变量是当前模块的文件名,os.path调用确保它是完整的绝对路径(因此在Windows上包含驱动器,从/开始POSIX系统),然后我们从中获取目录部分。