使用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文件)類型的文件將打開。要打開指定類型的文件,必須在文件類型選項中提及該文件及其擴展名,如上麵的代碼所述。
相關用法
注:本文由純淨天空篩選整理自sanjeev2552大神的英文原創作品 Python | askopenfile() function in Tkinter。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。