希望大家都很好。从项目目录中的目录导入图像时,我遇到了这个问题。我没什么问题我这样做是在将图像放在主目录中时进行的。工作正常,但是我现在想从文件夹图像中导入图像。这是屏幕截图。希望大家都可以理解我要做什么The only problem is in that "if items.endswith("images.jpg")。
尝试一下:
for items in os.listdir('images'):
if items.endswith('.jpg'):
image = Image.open(f'images/{items}')
说明:os.listdir
返回目录中不包含完整路径的文件。即。 images/images.jpg
。因此,在使用PIL
时,应在开头添加主路径。
我看到有两个主要问题,第一个是您正在使用endswith('images/.jpg')
检查文件扩展名,这应该是endswith('.jpg')
,第二个是您正在使用os.listdir
,它返回一个列表文件夹中的文件名而不是完整路径,这意味着您正在尝试从im_name.jpg
而不是images/im_name.jpg
加载图像。
这两个问题的解决方案都是使用glob
程序包,该程序包使您可以搜索与扩展名匹配的所有文件,并返回每个文件的完整路径。例如:
import glob
print(glob.glob('images/*.jpg'))
应打印:
images/image1.jpg
images/image2.jpg
...
这些足以使用PIL加载它们。