📜  Python| Tkinter 中的 askopenfile()函数

📅  最后修改于: 2022-05-13 01:55:05.265000             🧑  作者: Mango

Python| Tkinter 中的 askopenfile()函数

在使用 GUI 时,可能需要打开文件并从中读取数据,或者可能需要在该特定文件中写入数据。可以借助open()函数(内置Python )来实现这一点,但除非在代码中提供该特定文件的路径,否则可能无法选择任何所需的文件。
在 GUI 的帮助下,您可能不需要指定任何文件的路径,但您可以直接打开文件并读取其内容。

为了使用 askopenfile()函数,您可能需要执行以下步骤:

我们必须指定您想要打开文件的模式,就像上面的代码片段一样,这将以阅读模式打开文件。

# 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()

输出:
Tkinter 中的 askopenfile() 函数

所选文件的打印内容 –
所选文件的打印内容

原始文件内容与印刷内容的比较——
原始文件内容与印刷内容的比较

注意:在上面的代码中,只有.py (Python文件)类型的文件会被打开。要打开指定类型的文件,必须在文件类型选项中提及它以及它的扩展名,如上面代码中所做的那样。