我遇到了文件对话框返回_io的问题。TextIOWrapper 对象,而 tkinter 将文件的位置作为字符串。
我尝试了所有方法来转换此_io。文本IO说唱器到字符串但失败。
帮帮我!!
import tkinter as tk
import tkinter.filedialog
from PIL import Image, ImageTk
class App(tk.Tk):
def __init__(self):
super().__init__()
self.main = tk.Frame(self)
self.main.grid(row=0, column=0)
dial = tkinter.filedialog.askopenfile()
self.disp_img = Image.open(dial).resize((400, 400))
self.disp_img = ImageTk.PhotoImage(self.disp_img)
self.img_label = tk.Label(self.main, image=self.disp_img)
self.img_label.grid(row=0, column=0)
if __name__ == '__main__':
app = App()
app.withdraw()
app.mainloop()
正如在对该问题的评论中所述,您想使用askopenfilename()
而不是askopenfile()
.或者,TextIOWrapper
对象具有一个名为name
的变量,其中包含文件名。