添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

fp = builtins.open(filename, "rb") - Error

1 人关注

When I try running this script:

from PIL import Image
import os
files = os.listdir('mri')
for file in files:
    img = Image.open(file)

I get the following error:

Traceback (most recent call last):
  File "resize_image.py", line 6, in <module>
    img = Image.open(file)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2258, in open
    fp = builtins.open(filename, "rb")
IOError: [Errno 2] No such file or directory: '6.jpg'

我确定6.jpg是可用的。而且,似乎在这个位置的任何图像都会出现这样的错误。

我怎样才能解决这个问题呢?

3 个评论
确保它是可用的 再次 ,因为我现在可以告诉你,它不是。通过绝对确保文件在那里来解决这个问题。检查工作目录、绝对路径,等等。Python 并没有突然决定对你撒谎,用毯子盖住你的文件,假装它不在那里。
谢谢你的评论。我真的确定了该图像是可用的。我删除了该图片,在文件夹中的下一张图片上也出现了同样的错误
我根本就不是这个意思。这并不像有一个文件会穿上伪装服,但其余的文件很容易看到,所以删除第一个文件,仍然得到一个问题,意味着 Python 在对你撒谎。正如我所说的,检查你认为 Python 正在寻找的目录,然后检查它实际正在寻找的目录。Dan 在下面的回答中指出,当文件在另一个文件夹级别时,你使用的是相对路径。
python
image
Simplicity
Simplicity
发布于 2016-05-17
4 个回答
Dan D.
Dan D.
发布于 2020-11-26
已采纳
0 人赞同

来自 os.listdir 的文件名是相对于给定目录的。它们必须通过连接dirname和它们的基本名称来使之完整。

files = os.listdir('my_folder')
for file in files:
    img = Image.open(os.path.join('my_folder', file))
    
Mohit
Mohit
发布于 2020-11-26
0 人赞同

你得到这个错误是因为你没有在项目文件夹中添加你的图像。 把你的图像粘贴到项目文件中,然后运行程序。

jim gitonga
jim gitonga
发布于 2020-11-26
0 人赞同
img = Image.open(os.path.join('mri', file))