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")
Praktyka: filedialog + pathlib
Moduł tkinter otwiera natywne okno Python — wykonaj lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie