我在显示所选图像的位置时遇到一些问题。它显示<_io.TextIOWrapper name =
有什么原因吗?以及mode='r'encoding ='cp1252>
?我只是希望它显示图像的位置以及图像的名称,而不是那些额外的东西。我正在做的事情是否导致了这种情况的发生?请指教。
def button(self):
self.button = ttk.Button(self.labelFrame, text = "Upload Image", command = self.fileDialog)
self.button.grid(column = 1, row = 1)
def fileDialog(self):
self.filename = filedialog.askopenfile(initialdir = "/", title = "Select a File", filetype = (("jpeg", "*.jpg"), ("All files", "*.")))
self.label = ttk.Label(self.labelFrame, text = "")
self.label.grid(column = 1, row = 2)
self.label.configure(text = self.filename)
最佳答案
filedialog.askopenfile
给出文件对象,而不是文件名。
您必须显示 self.filename.name
而不是 self.filename
完整的工作示例
import tkinter as tk
from tkinter import filedialog
root = tk.Tk()
file_object = filedialog.askopenfile(title="Select file")
print('file_object:', file_object)
print('file_object.name:', file_object.name)
#data = file_object.read()
label = tk.Label(root, text=file_object.name)
label.pack()
root.mainloop()
<小时/>
或者使用askopenfilename
而不是askopenfile
来获取文件名。
完整的工作示例
import tkinter as tk
from tkinter import filedialog
root = tk.Tk()
filename = filedialog.askopenfilename(title="Select file")
print('filename:', filename)
#data = open(filename).read()
label = tk.Label(root, text=filename)
label.pack()
root.mainloop()
关于Python Tkinter 浏览文件 - 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55682916/