Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Hàm askopenfile() trong Python Tkinter

Thay vì hard-code đường dẫn file cho chương trình Python, chúng ta có thể cho phép người dùng duyệt cấu trúc thư mục OS qua GUI và chọn file. Điều này đạt được bằng module tkinter, trong đó định nghĩa một canvas và đặt nút bấm để duyệt file.

Trong chương trình dưới, định nghĩa hàm mở file. Chỉ dùng hàm này để mở file text vì Python có thể đọc nội dung file text và in ra dễ đọc. Có thể đọc các file dạng text như .txt hoặc .csv.

Ví dụ

from tkinter import *
from tkinter import filedialog

base = Tk()
# Tạo canvas
base.geometry('150x150')

# Hàm mở file
def file_opener():
    input = filedialog.askopenfile(initialdir="/")
    print(input)
    for i in input:
        print(i)

# Nút bấm
x = Button(base, text='Select a .txt/.csv file', command=lambda: file_opener())
x.pack()
mainloop()

Hộp thoại dưới mở ra để duyệt file.

Hàm askopenfile() trong Python Tkinter

Sau đó chọn một file.

Hàm askopenfile() trong Python Tkinter

Kết quả

Chạy đoạn code trên cho kết quả sau:

<_io.TextIOWrapper name='C:/Users/Pradeep/Documents/welcome.txt' mode='r' encoding='cp1252'>
Hello There ! Welcome to Tutorialspoint!