Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การเปิดและอ่านไฟล์ด้วย askopenfilename ใน Tkinter?


เมื่อผู้ใช้ต้องการเปิดไฟล์จากไดเร็กทอรี วิธีที่ต้องการคือการแสดงป๊อปอัปที่ผู้ใช้เลือกไฟล์ที่จะเปิด เช่นเดียวกับเครื่องมือและวิดเจ็ตส่วนใหญ่ Tkinter มีวิธีเปิดกล่องโต้ตอบสำหรับการเปิดไฟล์ อ่านไฟล์ และบันทึกไฟล์ ฟังก์ชันทั้งหมดนี้เป็นส่วนหนึ่งของ filedialog โมดูลในภาษาไพทอน เช่นเดียวกับวิดเจ็ตอื่น ๆ filedialog จะต้องนำเข้าอย่างชัดเจนในโน้ตบุ๊ก มีโมดูลอื่น ๆ ที่มี filedialog เช่น askdirectory, askopenfilename, askopenfile, askopenfilenames, asksaveasfilename เป็นต้น

ตัวอย่าง

ในตัวอย่างนี้ เราจะกำหนดฟังก์ชันเพื่อเปิดและอ่านไฟล์โดยใช้ askopenfilename .

เราจะกำหนดแอปพลิเคชันที่มีปุ่มสำหรับเปิดไฟล์ และจะบรรจุเนื้อหาของไฟล์ไว้ในวิดเจ็ตป้ายกำกับ ในการอ่านเนื้อหาไฟล์ เราจะใช้ read() วิธีการพร้อมกับชื่อไฟล์

#Import tkinter library
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
#Create an instance of tkinter frame or window
win= Tk()
win.geometry("750x150")
#Define a function to Opening the specific file using 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("750x450")
#Create an Empty Label to Read the content of the File
label= Label(win,text="", font=('Courier 13 bold'))
label.pack()
#Create a button for opening files
button=ttk.Button(win, text="Open",command=open_files)
button.pack(pady=30)
win.mainloop()

ผลลัพธ์

การเรียกใช้โค้ดด้านบนจะแสดงหน้าต่างที่มีปุ่ม ซึ่งเมื่อคลิกแล้ว จะเป็นการเปิดหน้าต่างใหม่เพื่อโหลดและอ่านเนื้อหาของไฟล์

การเปิดและอ่านไฟล์ด้วย askopenfilename ใน Tkinter?

คลิกปุ่ม "เปิด" เพื่อเปิดไฟล์ (ข้อความ "*") ในหน้าต่าง

การเปิดและอ่านไฟล์ด้วย askopenfilename ใน Tkinter?