Python Tkinter 将目录中的所有图像存储在向量中

我想将文件夹中的所有图像(其中有 46 个)存储在一个矢量中,以便以后可以轻松访问它们,我错在哪里?


它给了我以下错误: FileNotFoundError: [Errno 2] No such file or directory: '01_a.jpg'


import tkinter as tk

import os

from PIL import Image


root = tk.Tk()


tkimages = []


def laodImages():

    for image in os.listdir(os.getcwd() + '\chars'):

        if image.endswith("jpg"):

            im = Image.open(image)

            tkimage = tk.PhotoImage(im)

            tkimages.append(tkimage)



laodImages()

print(tkimages[1].name)


梵蒂冈之花
浏览 133回答 3
3回答

蛊毒传说

您应该首先附加父目录路径。import osimport tkinter as tkimport osfrom PIL import Imageroot = tk.Tk()tkimages = []path = os.getcwd() + '/chars'def laodImages():    for image in os.listdir(path):        if image.endswith("jpg"):            im = Image.open(os.path.join(path, image))            tkimage = tk.PhotoImage(im)            tkimages.append(tkimage)

牧羊人nacy

我在我的项目中这样做是为了将图像从文件夹保存到列表并使用 tkinter 显示它parking_img_list = []parking_img_path = '/home/stephen/Desktop/Smart Parking System/Smart Parking UI/UI_Layout/*.png'parking_path_list = glob.glob(parking_img_path)for parking_file in parking_path_list:    path = parking_file    park_img = ImageTk.PhotoImage(file=path)    parking_img_list.append(park_img)print(parking_img_list)image_number = 1my_display = Label(image=parking_img_list[0])

Helenr

所以我选择了其他,对我来说更简单的方法并且它有效(顺便说一句:我将图像与其名称配对)import tkinter as tkimport globfrom PIL import Image, ImageTkroot = tk.Tk()pairs = []paths = glob.glob('./chars/*.jpg')for path in paths:    string1 = path    name = string1[11:len(string1) - 4]    tkimage = ImageTk.PhotoImage(file=path)       pair = (tkimage, name)    pairs.append(pair)我知道这不是最干净的方式,但可以完成工作
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python