當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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文件)類型的文件將打開。要打開指定類型的文件,必須在文件類型選項中提及該文件及其擴展名,如上麵的代碼所述。



相關用法


注:本文由純淨天空篩選整理自sanjeev2552大神的英文原創作品 Python | askopenfile() function in Tkinter。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。