Wprowadzenie do pracy z plikami w Python – kompleksowy przewodnik
Python to jeden z najpopularniejszych języków programowania, ceniony za swoją prostotę, wszechstronność i bogaty ekosystem bibliotek. Jednym z kluczowych zastosowań Pythona jest praca z plikami – od prostego odczytu i zapisu, po zaawansowaną manipulację danymi. Ten artykuł to szczegółowe wprowadzenie do pracy z plikami w Python, zawierające praktyczne przykłady i najlepsze praktyki.
Spis treści
- Dlaczego warto pracować z plikami w Python?
- Podstawowe operacje na plikach
- Otwieranie plików
- Tryby pracy z plikami
- Zamknięcie pliku
- Odczyt danych z plików
read(),readline(),readlines()
- Zapisywanie danych do plików
- Praca z plikami tekstowymi i binarnymi
- Obsługa wyjątków podczas pracy z plikami
- Zarządzanie plikami przy użyciu
with - Zaawansowane operacje na plikach
- Obsługa dużych plików
- Edycja plików
- Praca z katalogami (
osishutil)
- FAQ – Najczęstsze pytania
1. Dlaczego warto pracować z plikami w Python?
Pliki są podstawowym sposobem przechowywania danych w aplikacjach. Python, dzięki wbudowanym funkcjom, pozwala na łatwe wykonywanie operacji takich jak:
- Przechowywanie wyników obliczeń,
- Przetwarzanie dużych zbiorów danych,
- Logowanie działania aplikacji,
- Praca z plikami konfiguracyjnymi (np.
.json,.yaml), - Manipulacja plikami multimedialnymi (np. obrazami, plikami audio).

2. Podstawowe operacje na plikach
Otwieranie plików
W Pythonie do otwierania plików używamy funkcji open(). Składnia jest następująca:
file = open("nazwa_pliku.txt", "tryb")
nazwa_pliku– ścieżka do pliku, który chcemy otworzyć,tryb– sposób, w jaki chcemy pracować z plikiem (np. odczyt, zapis).
Tryby pracy z plikami
| Tryb | Opis |
|---|---|
'r' |
Odczyt (domyślny). |
'w' |
Zapis. Tworzy plik, jeśli nie istnieje. |
'a' |
Dopisywanie na końcu pliku. |
'b' |
Tryb binarny. |
'x' |
Tworzenie pliku. Zgłasza błąd, jeśli plik już istnieje. |
Zamknięcie pliku
Po zakończeniu pracy z plikiem należy go zamknąć, aby zwolnić zasoby. Używamy do tego metody close():
file.close()
3. Odczyt danych z plików
Python oferuje kilka metod odczytu plików:
read()– odczytuje cały plik jako jeden ciąg znaków:with open("plik.txt", "r") as file: dane = file.read() print(dane)readline()– odczytuje pojedynczą linię:with open("plik.txt", "r") as file: linia = file.readline() print(linia)readlines()– odczytuje wszystkie linie jako listę:with open("plik.txt", "r") as file: linie = file.readlines() print(linie)
4. Zapisywanie danych do plików
Do zapisywania danych w pliku używamy metody write():
with open("plik.txt", "w") as file:
file.write("To jest zapisany tekst.\n")
Dopisywanie danych do istniejącego pliku wymaga użycia trybu 'a':
with open("plik.txt", "a") as file:
file.write("Dodano nową linię.\n")
5. Praca z plikami tekstowymi i binarnymi
Pliki tekstowe
Praca z plikami tekstowymi jest domyślna w Pythonie. Używamy trybu 'r', 'w' lub 'a'.
Pliki binarne
Aby pracować z plikami binarnymi, należy dodać literę 'b' do trybu:
with open("plik.bin", "wb") as file:
file.write(b"To jest binarny zapis danych.")
6. Obsługa wyjątków podczas pracy z plikami
Podczas pracy z plikami mogą wystąpić błędy, np. gdy plik nie istnieje. Obsługę takich sytuacji realizujemy za pomocą try...except:
try:
with open("nieistniejący_plik.txt", "r") as file:
dane = file.read()
except FileNotFoundError:
print("Plik nie istnieje.")
7. Zarządzanie plikami przy użyciu with
Blok with automatycznie zamyka plik po zakończeniu pracy, nawet jeśli wystąpi wyjątek:
with open("plik.txt", "r") as file:
dane = file.read()
8. Zaawansowane operacje na plikach
Obsługa dużych plików
Duże pliki należy odczytywać w mniejszych porcjach:
with open("duzy_plik.txt", "r") as file:
for linia in file:
print(linia)
Praca z katalogami
Python oferuje moduł os do zarządzania katalogami:
import os
# Tworzenie katalogu
os.mkdir("nowy_katalog")
# Usuwanie katalogu
os.rmdir("nowy_katalog")
Kopiowanie plików
Do kopiowania plików można użyć modułu shutil:
import shutil
shutil.copy("plik.txt", "kopia_plik.txt")
FAQ – Najczęstsze pytania
1. Jak sprawdzić, czy plik istnieje?
Użyj modułu os:
import os
if os.path.exists("plik.txt"):
print("Plik istnieje.")
else:
print("Plik nie istnieje.")
2. Jak czytać pliki w niestandardowym kodowaniu?
Podaj kodowanie w funkcji open():
with open("plik.txt", "r", encoding="utf-8") as file:
dane = file.read()
3. Jak zapobiec błędom podczas otwierania pliku?
Stosuj blok try...except oraz używaj with do automatycznego zamykania plików.
Podsumowanie
Praca z plikami w Pythonie to nieodłączna część wielu projektów – od przetwarzania danych po zarządzanie logami. Python oferuje prosty i intuicyjny zestaw narzędzi do odczytu, zapisu i manipulacji plikami, które zaspokoją potrzeby zarówno początkujących, jak i zaawansowanych programistów. Pamiętaj, aby zawsze zamykać pliki po zakończeniu pracy, korzystać z obsługi wyjątków oraz dbać o wydajność przy dużych plikach.






