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:
