在 Tkinter 中使用 askopenfilename 打开和读取文件?

pythontkinterserver side programmingprogramming

当用户想要从目录中打开文件时,首选方法是显示一个弹出窗口,用户可在其中选择要打开的文件。与大多数工具和小部件一样,Tkinter 为我们提供了一种打开对话框以打开文件、读取文件、保存文件的方法。所有这些功能都是 Python 中 filedialog 模块的一部分。与其他小部件一样,filedialog 需要在笔记本中明确导入。还有一些其他模块包含文件对话框,例如 askdirectory、askopenfilename、askopenfile、askopenfilenames、asksaveasfilename 等。

示例

在此示例中,我们将定义一个函数,使用 askopenfilename 打开和读取文件。

我们将定义一个应用程序,其中包含一个用于打开文件的按钮,并将文件内容打包到标签小部件中。为了读取文件内容,我们将使用 read() 方法以及文件名。

#导入 tkinter 库
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
#创建 tkinter 框架或窗口的实例
win= Tk()
win.geometry("750​​x150")
#定义一个函数以使用 filedialog 打开特定文件
def open_files():
   path= filedialog.askopenfilename(title="Select a file", filetypes=(("text files","*.txt"),
("all files","*.*")))

   file= open(path,'r')
   txt= file.read()
   label.config(text=txt, font=('Courier 13 bold'))
   file.close()
   button.config(state=DISABLED)
   win.geometry("750​​x450")
#创建一个空标签来读取文件的内容
label= Label(win,text="", font=('Courier 13 bold'))
label.pack()
#创建一个用于打开文件的按钮
button=ttk.Button(win, text="Open",command=open_files)
button.pack(pady=30)
win.mainloop()

输出

运行上述代码将显示一个窗口,其中包含一个按钮,单击该按钮时将打开一个新窗口来加载和读取文件内容。

单击"打开"按钮在窗口中打开文件(文本,"*")。


相关文章