We/wy plików w języku Python: bezpieczne odczytywanie i zapisywanie plików
Dowiedz się, jak czytać i zapisywać pliki w Pythonie. Opanuj menedżery open(), read(), write() i kontekstu, aby bezpiecznie obsługiwać operacje na plikach bez wycieków zasobów.
Przegląd
Pliki wejścia/wyjścia (I/O) to podstawowa funkcja umożliwiająca programom Pythona interakcję z trwałą pamięcią masową komputera. Niezależnie od tego, czy budujesz prosty rejestrator, czytasz pliki konfiguracyjne, czy przetwarzasz ogromne tablice danych, Twój program potrzebuje niezawodnego sposobu otwierania, odczytywania, zapisywania i zamykania plików na dysku. Python zapewnia przejrzyste, wbudowane funkcje, dzięki którym interakcja z systemem plików jest prosta i wieloplatformowa.
Podstawowym narzędziem dostępu do plików w Pythonie jest wbudowana funkcja `open()`. Ta funkcja akceptuje ścieżkę pliku i ciąg trybu. Tryb określa sposób dostępu do pliku: „r” do odczytu, „w” do zapisu (który nadpisuje plik), „a” do dołączenia treści na końcu i „b” do trybu binarnego (przydatne w przypadku obrazów lub danych serializowanych). Co najważniejsze, za każdym razem, gdy otwierasz plik, zużywa on uchwyt systemu operacyjnego. Jeśli nie zamkniesz pliku, możesz spowodować wycieki pamięci lub problemy z blokadą pliku.
Aby zagwarantować, że pliki będą zawsze poprawnie zamykane, programiści Pythona używają instrukcji „with”, która implementuje menedżera kontekstu. Używając `with open(...) jako plik:`, Python automatycznie zamyka uchwyt pliku po wyjściu bloku kodu, nawet jeśli w środku wystąpi nieoczekiwany wyjątek. Odczyt danych może odbywać się linia po linii za pomocą `dla linii w pliku:` lub wszystkich na raz za pomocą `.read()`, `.readline()` lub `.readlines()`. Zapisywanie tekstu odbywa się za pomocą funkcji `.write()` lub `.writelines()`, umożliwiając płynne, bezpieczne i wydajne operacje na plikach.
Dane wyjściowe kodu i wykonania
Zapisanie pozdrowienia do tymczasowego pliku tekstowego i odczytywanie go wiersz po wierszu przy użyciu bezpiecznych menedżerów kontekstu.
filename = "sample.txt"
# Writing to a file
with open(filename, "w") as file:
file.write("Hello, Python coder!\n")
file.write("This is a line in a file.\n")
file.write("File I/O is simple.\n")
print("File written successfully.\n--- Reading File ---")
# Reading from a file line by line
with open(filename, "r") as file:
for index, line in enumerate(file, 1):
print(f"Line {index}: {line.strip()}")File written successfully.
--- Reading File ---
Line 1: Hello, Python coder!
Line 2: This is a line in a file.
Line 3: File I/O is simple.Wdrażanie krok po kroku
- Rejestrowanie błędów i wyników programu
- Odczyt plików konfiguracyjnych (np. .env lub config.txt)
- Zapisywanie raportów użytkowników lub eksportowanych podsumowań analitycznych
Często zadawane pytania
Jaka jest różnica między trybami zapisu i dołączania?
Tryb zapisu („w”) obcina plik do zerowej długości, usuwając całą istniejącą zawartość przed zapisaniem. Tryb dołączania („a”) umieszcza kursor na końcu, dodając nowy tekst bez usuwania istniejącej zawartości.
Dlaczego powinienem używać instrukcji with?
Instrukcja with pełni rolę menedżera kontekstu, zapewniając automatyczne zamykanie plików, co zapobiega wyciekom pamięci i błędom plików blokujących.
Powiązane tematy
Dowiedz się, jak pisać niestandardowe menedżery kontekstu w Pythonie. Opanuj dekorator menedżera kontekstu i metody __enter__/__exit__ w celu zapewnienia bezpieczeństwa zasobów.
Parsowanie Pythona JSONDowiedz się, jak czytać, pisać i analizować dane JSON w języku Python. Opanuj json.loads, json.dumps i dostosuj kodery/dekodery JSON.
Python CSVDowiedz się, jak obsługiwać dane CSV w Pythonie. Opanuj programy csv.reader, csv.writer i DictReader/DictWriter w celu wydajnego analizowania tabel.
Polecane zasoby Pythona
Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.
Jak odczytać plik w Pythonie
Naucz się czytać pliki w Pythonie. Opanuj obsługę instrukcji open, readline, readlines i bezpiecznej obsługi wyjątków plików.
Ściągawka dotycząca metod słownika Pythona
Poznaj metody słownikowe Pythona. Kompletny przewodnik dotyczący wstawiania, pobierania, aktualizacji i sprawdzania par klucz-wartość.
Python kontra JavaScript: który język programowania jest najlepszy?
Kompleksowe porównanie Pythona i JavaScript. Poznaj różnice w składni, wydajność, przypadki użycia (backend vs frontend) i przykłady kodowania.