为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

梵蒂冈之花 2022-04-23 16:52:26
我想将文件夹中的所有图像(其中有 46 个)存储在一个矢量中,以便以后可以轻松访问它们,我错在哪里?它给了我以下错误: FileNotFoundError: [Errno 2] No such file or directory: '01_a.jpg'import tkinter as tkimport osfrom PIL import Imageroot = 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)
查看完整描述

3 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

您应该首先附加父目录路径。


import os


import tkinter as tk

import os

from PIL import Image


root = 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)


查看完整回答
反对 回复 2022-04-23
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

我在我的项目中这样做是为了将图像从文件夹保存到列表并使用 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 = 1



my_display = Label(image=parking_img_list[0])


查看完整回答
反对 回复 2022-04-23
?
Helenr

TA贡献1780条经验 获得超4个赞

所以我选择了其他,对我来说更简单的方法并且它有效(顺便说一句:我将图像与其名称配对)


import tkinter as tk

import glob

from PIL import Image, ImageTk


root = 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)

我知道这不是最干净的方式,但可以完成工作


查看完整回答
反对 回复 2022-04-23
  • 3 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信