Python| Tkinter 中的 askopenfile()函数
在使用 GUI 时,可能需要打开文件并从中读取数据,或者可能需要在该特定文件中写入数据。可以借助open()
函数(内置Python )来实现这一点,但除非在代码中提供该特定文件的路径,否则可能无法选择任何所需的文件。
在 GUI 的帮助下,您可能不需要指定任何文件的路径,但您可以直接打开文件并读取其内容。
为了使用 askopenfile()函数,您可能需要执行以下步骤:
-> import tkinter
-> from tkinter.filedialog import askopenfile ## Now you can use this function
-> file = askopeenfile(mode=’r’, filetypes=[(‘any name you want to display’, ‘extension of file type’)])
我们必须指定您想要打开文件的模式,就像上面的代码片段一样,这将以阅读模式打开文件。
# importing tkinter and tkinter.ttk
# and all their functions and classes
from tkinter import *
from tkinter.ttk import *
# importing askopenfile function
# from class filedialog
from tkinter.filedialog import askopenfile
root = Tk()
root.geometry('200x100')
# This function will be used to open
# file in read mode and only Python files
# will be opened
def open_file():
file = askopenfile(mode ='r', filetypes =[('Python Files', '*.py')])
if file is not None:
content = file.read()
print(content)
btn = Button(root, text ='Open', command = lambda:open_file())
btn.pack(side = TOP, pady = 10)
mainloop()
输出:
所选文件的打印内容 –
原始文件内容与印刷内容的比较——
注意:在上面的代码中,只有.py
(Python文件)类型的文件会被打开。要打开指定类型的文件,必须在文件类型选项中提及它以及它的扩展名,如上面代码中所做的那样。