Python 如何将图像加载到标签中而不保存到硬盘

Python 如何将图像加载到标签中而不保存到硬盘,python,image,tkinter,label,stringio,Python,Image,Tkinter,Label,Stringio,我正在做一个项目,我有一个列表,里面有几个StringIO。我想将它们加载到Tkinter标签中,但出现以下错误:IOError:无法识别图像文件。我理解这意味着它找不到图像文件。但是,如何在不保存到硬盘驱动器的情况下显示图像 这是我的密码: from PIL import ImageTk, Image as im from cStringIO import StringIO from threading import Thread from Tkinter import * import so

我正在做一个项目,我有一个列表,里面有几个
StringIO
。我想将它们加载到Tkinter标签中,但出现以下错误:
IOError:无法识别图像文件
。我理解这意味着它找不到图像文件。但是,如何在不保存到硬盘驱动器的情况下显示图像

这是我的密码:

from PIL import ImageTk, Image as im
from cStringIO import StringIO
from threading import Thread
from Tkinter import *
import socket
import os

class Application(Frame):
    def __init__(self, parent):
        Frame.__init__(self,parent)
        self.pack(fill=BOTH)

        self.images = []

        self.create_Browse()

    def create_Browse(self):
        for item in self.images:
            img = ImageTk.PhotoImage(im.open(item))

            label = Label(self, image=img)
            label.image = img
            label.pack(side=TOP)

root = Tk()
root.title("None")
root.resizable(0,0)
root.geometry("650x500")
root.iconbitmap("Files/System_Files/icon.ico")

app = Application(root)

root.mainloop()

这只是一个例子。
self.images
列表将包含
StringIO

在创建图像之前,您可能需要重置StringIO对象:

for item in self.images:
    item.seek(0) # set file position back to the start
    img = ImageTk.PhotoImage(Image.open(item))