Rozdział 16 · Tworzenie fajnych aplikacji z Tkinter

Otwieranie i zapisywanie plików: filedialog i pathlib

Okno wyboru pliku pokazuje ścieżkę, a potem wszystko, co już wiemy z rozdziału 15, działa.

Bezpośredni link do rozdziału 15: okno wyboru pliku pokazuje ścieżkę, a potem wszystko działa tak samo pathlib.

filedialog.py
from tkinter import filedialog
from pathlib import Path

filename = filedialog.askopenfilename(filetypes=[(„Pliki tekstowe”, "*.txt")])
if not filename:
    pass   # użytkownik kliknął „Anuluj”
else:
    text = Path(filename).read_text(encoding="utf-8")
Nie zapomnij o anulowaniu
Jeśli użytkownik zamknął dialog bez wyboru pliku, askopenfilename() wróci pusty wiersz, nie None nie jest drogą. Próbuję od razu otworzyć Path("") jest częstym błędem. Zawsze sprawdź wynik przed użyciem: if not filename: return.

Zapisywanie pliku

filedialog_save.py
filename = filedialog.asksaveasfilename(defaultextension=".txt")
if filename:
    Path(filename).write_text(text_widget.get("1.0", "end-1c"), encoding="utf-8")
kliknął „Otwórz”
dialogu jest pokazany
filedialog
odwołanie?
tak – nic nie robimy
return
nie, jest na to sposób
Path(filename)
read_text(encoding="utf-8")
Prawidłowa kolejność: najpierw sprawdzenie anulowania, potem praca ze ścieżką.
Praktyka: filedialog + pathlib
Moduł tkinter otwiera natywne okno Python — wykonaj lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie
Otwórz praktykę →