0

我刚刚安装了 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 放在保存此脚本的同一目录中。我应该怎么做才能打开此文件。

4

1 回答 1

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 系统上以 a 开头),然后我们从中获取目录部分。

于 2013-07-22T00:12:45.877 回答