0Pricing
Python Academy · Lekcja

Odczyt i zapis plików

Używaj read_text i write_text

Odczyt i zapis plików to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.

Wejście i wyjście plików w stylu pathlib

Ścieżki pathlib mogą bezpośrednio odczytywać i zapisywać pliki, bez jawnego wywoływania open() w prostych przypadkach. Metody read_text, write_text, read_bytes i write_bytes pokrywają typowe potrzeby.

write_text

write_text() zapisuje napis do pliku, tworząc go w razie potrzeby i zastępując istniejącą zawartość. Zwraca liczbę zapisanych znaków.

from pathlib import Path

p = Path('greeting.txt')
n = p.write_text('Hello, pathlib!')
print('wrote', n, 'characters')

read_text

read_text() otwiera plik, odczytuje całą jego zawartość i zamyka plik, zwracając zawartość w postaci napisu.

from pathlib import Path

p = Path('greeting.txt')
p.write_text('Hello, pathlib!')
content = p.read_text()
print(content)

Nie trzeba ręcznie zamykać pliku

Te pomocnicze metody otwierają i zamykają plik za Państwa, dzięki czemu w przypadku jednorazowego odczytu lub zapisu można uniknąć powtarzalnego kodu w bloku with open(...).

from pathlib import Path

p = Path('notes.txt')
p.write_text('line one')
print(p.read_text())

Określanie kodowania

Należy przekazać argument encoding, aby określić kodowanie tekstu. UTF-8 to bezpieczny, jawny wybór zapewniający przenośność.

from pathlib import Path

p = Path('uni.txt')
p.write_text('cafe resume', encoding='utf-8')
print(p.read_text(encoding='utf-8'))

Praca z bajtami

W przypadku danych binarnych należy użyć write_bytes() i read_bytes(), które operują na obiektach bytes, a nie na napisach.

from pathlib import Path

p = Path('data.bin')
p.write_bytes(b'\x00\x01\x02')
print(p.read_bytes())

Dopisywanie i zaawansowane tryby

Pomocnicze metody wykonujące operację jednorazowo zawsze zastępują istniejącą zawartość. Aby dopisywać dane lub przetwarzać strumień, należy wywołać open() na obiekcie Path, aby otrzymać zwykły obiekt pliku, którego można używać w bloku with.

from pathlib import Path

p = Path('log.txt')
p.write_text('start\n')
with p.open('a') as f:
    f.write('more\n')
print(p.read_text())

Odczyt wiersz po wierszu

Należy odczytać cały tekst, a następnie podzielić go na wiersze albo otworzyć ścieżkę i iterować po jej zawartości. Podzielenie wyniku read_text() jest najprostszym rozwiązaniem w przypadku małych plików.

from pathlib import Path

p = Path('multi.txt')
p.write_text('a\nb\nc\n')
for line in p.read_text().splitlines():
    print('line:', line)

Tworzenie katalogów nadrzędnych

Operacja zapisu kończy się błędem, jeśli katalog nadrzędny nie istnieje. Najpierw należy wywołać mkdir(parents=True, exist_ok=True) na katalogu nadrzędnym, aby utworzyć całą strukturę katalogów.

from pathlib import Path

p = Path('out/sub/file.txt')
p.parent.mkdir(parents=True, exist_ok=True)
p.write_text('done')
print(p.read_text())

Usuwanie plików

Plik można usunąć za pomocą unlink(). Przekazanie missing_ok=True zapobiega błędowi, jeśli plik został już usunięty.

from pathlib import Path

p = Path('temp.txt')
p.write_text('bye')
print(p.exists())
p.unlink(missing_ok=True)
print(p.exists())

Odczytywanie, przekształcanie, zapisywanie

Typowy schemat polega na odczytaniu pliku, przekształceniu jego tekstu i zapisaniu go z powrotem. pathlib pozwala wykonać te czynności w zwięzłych trzech wierszach.

from pathlib import Path

p = Path('caps.txt')
p.write_text('hello world')
p.write_text(p.read_text().upper())
print(p.read_text())

Szybkie sprawdzenie

Co robi wyrażenie Path('a.txt').write_text('hi'), jeśli plik już istnieje?

Podsumowanie

Poznali Państwo sposób odczytywania i zapisywania plików za pomocą pathlib.

  • write_text/read_text obsługują wejście i wyjście napisów dla całych plików.
  • write_bytes/read_bytes służą do obsługi danych binarnych.
  • Do dopisywania danych lub przetwarzania strumieni należy używać open().
  • Katalogi nadrzędne można tworzyć za pomocą mkdir, a pliki usuwać za pomocą unlink.

Często zadawane pytania

Czy lekcja „Odczyt i zapis plików” jest bezpłatna?

Tak — pełny tekst „Odczyt i zapis plików” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Odczyt i zapis plików”?

Używaj read_text i write_text Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Python Academy?

Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Odczyt i zapis plików”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?

Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Obiekt Path
  2. Odczyt i zapis plików
  3. Wzorce glob i iterowanie
  4. Operacje na ścieżkach
← Powrót do Python Academy