首页 > 解决方案 > 从一个目录加载所有图像,但打开的文件太多

问题描述

我的当前目录中有 1,000 多张 JPEG 图像。首先,我试图将它们保存为图像列表,然后将列表转换为 4d ndarray。我得到

[Errno 24] 打开的文件太多:

image_list = []
filename = 'data/training_images/'
for filename in glob.glob('data/training_images/*.jpg'):
    im=Image.open(filename)
    image_list.append(im)
#  convert list of images into 4d ndarray: numOfImages x height x width x channel

我该如何解决这个问题?有更简单的选择吗?

标签: python

解决方案


将您的代码更改为:

image_list = []
filename = 'data/training_images/'
for filename in glob.glob('data/training_images/*.jpg'):
    im=Image.open(filename)
    image_list.append(im)
    im.close()

将图像附加到列表后,这将关闭每个文件。


推荐阅读