Jak pisać do pliku w Pythonie (zapis i dołączanie)

Dowiedz się, jak zapisywać tekst do plików w Pythonie. Opanuj różnicę między trybami zapisu („w”) i dodawania („a”) dzięki bezpiecznym menedżerom kontekstu.

Wypróbuj to rozwiązanie w Edytorze

Przegląd

Zapisywanie danych do plików to podstawowe zadanie podczas budowania skryptów, zapisywania stanów programów, tworzenia logów czy eksportowania raportów. Python upraszcza tworzenie plików za pomocą wbudowanej funkcji „open()” w połączeniu z określonymi trybami dostępu do plików, które kontrolują sposób zapisywania danych na dysku.

Podczas zapisywania plików dwa najczęstsze tryby to tryb zapisu („w”) i tryb dodawania („a”). Tryb zapisu całkowicie nadpisuje plik, jeśli już istnieje, lub tworzy nowy, jeśli tak nie jest. Tryb dołączania zachowuje istniejącą zawartość i zapisuje nowe dane bezpośrednio na końcu pliku. Korzystanie z niewłaściwego trybu może prowadzić do przypadkowej utraty danych, dlatego wybieraj ostrożnie.

Podobnie jak w przypadku czytania plików, powinieneś zawsze używać instrukcji `with open(...)`. Zapewnia to opróżnienie bufora plików i prawidłowe zamknięcie uchwytu pliku, oszczędzając zasoby systemowe i zapobiegając uszkodzeniu danych. Do pisania list ciągów Python udostępnia metodę `.writelines()`, dzięki której zbiorcze zapisy są przejrzyste i wydajne.

Dane wyjściowe kodu i wykonania

Ten skrypt demonstruje nadpisywanie, dołączanie i przeglądanie plików w języku Python.

write_file.py
Spróbuj w Edytorze
# 1. Overwrite a file (or create new) using "w"
with open("output.txt", "w") as file:
    file.write("Hello World from Python!\n")
    file.write("Writing file content is simple.\n")

# 2. Append new content to the file using "a"
with open("output.txt", "a") as file:
    file.write("This line is appended.\n")

# 3. Reading the file back to verify contents
with open("output.txt", "r") as file:
    print(file.read().strip())
Wyjście terminala
Hello World from Python!
Writing file content is simple.
This line is appended.

Wdrażanie krok po kroku

  • Użyj z open('nazwa pliku', 'w') jako pliku, aby zastąpić lub utworzyć plik.
  • Użyj z open('nazwa pliku', 'a') jako pliku, aby dodać tekst na końcu pliku.
  • Wywołaj file.write('string'), aby zapisać pojedyncze segmenty tekstu do pliku.

Często zadawane pytania

Co się stanie, jeśli katalog pliku nie istnieje?

Python zgłosi błąd FileNotFoundError. Przed zapisaniem pliku musisz najpierw utworzyć katalog za pomocą funkcji os.makedirs.

Jak zapisać zmienne lub liczby do pliku?

Metoda write() akceptuje tylko argumenty w postaci łańcuchów. Musisz rzucać liczby za pomocą str(num) lub formatować je za pomocą f-stringów.

Powiązane tematy

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.