我正在练习Tkinter及其功能。我一直在研究"文件对话框"。我选择文件没有问题。但是,我想选择一个图像并在Tkinter上打开。然而,当我点击打开图像时,它总是出错。当打印出文件的路径时,io.TextIOWrapper name='D:/GIS/Python_Pro/Tkinter_lib/my_image/nature_1.jpg' mode='r' encoding='cp1254
。我如何才能只获得路径为"D:/GIS/Python_Pro/Tkinter_lib/my_image/nature_1.jpg"。
def Select_File():
root.filename =filedialog.askopenfile(initialdir='D:GISPython_ProTkinter_libmy_image',title="Select a file",filetypes=(("png files","*.png"),("ico files","*.ico"),("All Files","*.*")))
path_file=Label(root,text=root.filename ).pack()
my_img=ImageTk.PhotoImage(Image.open(root.filename))
img_label=Label(root,image=my_img).pack()
#Buttons
Btn_1=Button(root,text="Select a file",command=Select_File).pack()
filedialog.askopenfile
将返回一个IO
对象。当您需要修改此文件时,可以使用此选项。
如果您只需要获得完整路径,请使用filedialog.askopenfilename
,它将返回您选择的文件路径。
尝试filedialog.askopenfilename而不是filedialog.skopenfile