希望你们都好。当我从项目目录中的一个目录导入图像时,我就遇到了这个问题。我不知道有什么问题。我这样做的同时,将图像放在主目录中。它工作得很好,但我现在想从我的文件夹图像中导入图像。这是屏幕截图。我希望你们都能理解我在做什么,The only problem is in that "if items.endswith("images.jpg")。
发布于 2020-05-13 20:00:57
试试这个:
for items in os.listdir('images'):
if items.endswith('.jpg'):
image = Image.open(f'images/{items}')解释:
os.listdir返回不包含完整路径的目录中的文件。即。images/images.jpg。
因此,在使用PIL时,您应该在开头添加主路径。
发布于 2020-05-13 20:02:36
我可以看到有两个主要问题,第一个是你正在用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加载它们。
https://stackoverflow.com/questions/61773861
复制相似问题