Kurs: Darmowy kurs Python dla początkujących
Lekcja 13: Zarządzanie plikami tekstowymi
Program do przechowywania i wyszukiwania notatek w plikach
W tej lekcji stworzymy prosty program do przechowywania notatek w pliku tekstowym oraz ich wyszukiwania. Program pozwoli na dodawanie nowych notatek, wyświetlanie wszystkich notatek oraz wyszukiwanie konkretnych fraz w zapisanych notatkach.
1. Struktura programu
Program będzie składał się z kilku funkcji:
dodaj_notatke
– Dodaje nową notatkę do pliku.wyswietl_notatki
– Wyświetla wszystkie zapisane notatki.wyszukaj_notatke
– Wyszukuje notatki zawierające określoną frazę.menu
– Wyświetla menu opcji i obsługuje interakcję z użytkownikiem.
2. Implementacja funkcji
Poniżej znajduje się implementacja programu:
# Funkcja dodająca notatkę do pliku def dodaj_notatke(nazwa_pliku, tresc): with open(nazwa_pliku, "a", encoding="utf-8") as plik: plik.write(tresc + "\n") print("Notatka została dodana.") # Funkcja wyświetlająca wszystkie notatki def wyswietl_notatki(nazwa_pliku): try: with open(nazwa_pliku, "r", encoding="utf-8") as plik: notatki = plik.readlines() if not notatki: print("Brak zapisanych notatek.") else: print("Twoje notatki:") for i, notatka w enumerate(notatki, start=1): print(f"{i}. {notatka.strip()}") except FileNotFoundError: print(f"Plik '{nazwa_pliku}' nie istnieje. Dodaj pierwszą notatkę, aby utworzyć plik.") # Funkcja wyszukująca notatki zawierające określoną frazę def wyszukaj_notatke(nazwa_pliku, fraza): try: with open(nazwa_pliku, "r", encoding="utf-8") as plik: notatki = plik.readlines() znalezione = [notatka.strip() for notatka in notatki if fraza.lower() in notatka.lower()] if znalezione: print("Znalezione notatki:") for notatka in znalezione: print(f"- {notatka}") else: print("Nie znaleziono notatek zawierających podaną frazę.") except FileNotFoundError: print(f"Plik '{nazwa_pliku}' nie istnieje. Dodaj pierwszą notatkę, aby utworzyć plik.")
3. Menu i interakcja z użytkownikiem
Stworzymy funkcję menu
, która umożliwi użytkownikowi wybór jednej z dostępnych opcji.
# Funkcja wyświetlająca menu i obsługująca użytkownika def menu(): nazwa_pliku = "notatki.txt" while True: print("\n--- Zarządzanie Notatkami ---") print("1. Dodaj notatkę") print("2. Wyświetl wszystkie notatki") print("3. Wyszukaj notatkę") print("4. Wyjdź") wybor = input("Wybierz opcję (1-4): ") if wybor == "1": tresc = input("Wpisz treść notatki: ") dodaj_notatke(nazwa_pliku, tresc) elif wybor == "2": wyswietl_notatki(nazwa_pliku) elif wybor == "3": fraza = input("Wpisz frazę do wyszukania: ") wyszukaj_notatke(nazwa_pliku, fraza) elif wybor == "4": print("Dziękujemy za korzystanie z programu!") break else: print("Błąd: Nieprawidłowy wybór. Spróbuj ponownie.")
4. Przykład działania programu
Poniżej znajduje się przykład interakcji użytkownika z programem:
--- Zarządzanie Notatkami --- 1. Dodaj notatkę 2. Wyświetl wszystkie notatki 3. Wyszukaj notatkę 4. Wyjdź Wybierz opcję (1-4): 1 Wpisz treść notatki: Kup mleko Notatka została dodana. --- Zarządzanie Notatkami --- 1. Dodaj notatkę 2. Wyświetl wszystkie notatki 3. Wyszukaj notatkę 4. Wyjdź Wybierz opcję (1-4): 2 Twoje notatki: 1. Kup mleko --- Zarządzanie Notatkami --- 1. Dodaj notatkę 2. Wyświetl wszystkie notatki 3. Wyszukaj notatkę 4. Wyjdź Wybierz opcję (1-4): 3 Wpisz frazę do wyszukania: mleko Znalezione notatki: - Kup mleko --- Zarządzanie Notatkami --- 1. Dodaj notatkę 2. Wyświetl wszystkie notatki 3. Wyszukaj notatkę 4. Wyjdź Wybierz opcję (1-4): 4 Dziękujemy za korzystanie z programu!
Ten program jest doskonałym przykładem zastosowania plików tekstowych do przechowywania i zarządzania danymi w prosty sposób. Możesz go rozbudować, np. dodając obsługę usuwania notatek lub sortowania.
Następna lekcja ==> Prosta gra tekstowa
Spis Treści - darmowy kurs Python dla początkujących
Lekcja 1: Wprowadzenie do programowania
- Co to jest programowanie?
- Dlaczego warto uczyć się Pythona?
- Instalacja Python i wprowadzenie do edytorów (IDLE, VS Code).
Lekcja 2: Pierwszy program w Pythonie
- Składnia Pythona.
- Wyświetlanie tekstu (funkcja print).
- Komentarze i ich znaczenie.
Lekcja 3: Podstawowe typy danych
- Liczby: int, float.
- Ciągi znaków (stringi).
- Typ logiczny (boolean).
- Funkcja type.
Lekcja 4: Zmienne i operatory
- Deklaracja i przypisywanie zmiennych.
- Operatory arytmetyczne, porównania, logiczne.
Lekcja 5: Listy i krotki
- Tworzenie list i krotek.
- Indeksowanie, dodawanie, usuwanie elementów.
- Operacje na listach.
Lekcja 6: Słowniki i zbiory
- Tworzenie i operacje na słownikach.
- Iteracja po słownikach.
- Zbiory i ich zastosowania.
Lekcja 7: Instrukcje warunkowe
- Instrukcje if, elif, else.
- Operatory logiczne w praktyce.
Lekcja 8: Pętle
- Pętla for i while.
- Instrukcje break, continue, else w pętlach.
Lekcja 9: Funkcje
- Tworzenie i wywoływanie funkcji.
- Argumenty i wartości domyślne.
- Funkcje anonimowe (lambda).
Lekcja 10: Praca z plikami
- Otwieranie, czytanie i zapisywanie plików.
- Obsługa błędów przy pracy z plikami.
Lekcja 11: Podstawy programowania obiektowego
- Klasy i obiekty.
- Atrybuty i metody.
- Prosty projekt: Zarządzanie listą zadań.
Lekcja 12: Tworzenie prostego kalkulatora
- Łączenie funkcji i warunków.
- Obsługa błędów (try-except).
Lekcja 13: Zarządzanie plikami tekstowymi
- Program do przechowywania i wyszukiwania notatek w plikach.
Lekcja 14: Prosta gra tekstowa w Python
- Wprowadzenie do pętli i logiki gry.
- Interaktywna gra konsolowa, np. zgadywanie liczby.
Jeśli chciałbyś być poinformowany o następnych kursach to zapisz się do naszego newslettera: