CodeGym /Kursy /Python SELF PL /Zapisywanie danych do pliku

Zapisywanie danych do pliku

Python SELF PL
Poziom 21 , Lekcja 2
Dostępny

3.1 Tworzenie pliku

Pliki są tworzone automatycznie przy ich otwarciu w trybie zapisu ('w') lub dodawania ('a'). Jeśli plik już istnieje, tryb 'w' nadpisuje jego zawartość, a tryb 'a' dodaje dane na końcu pliku.

Przykład tworzenia pliku


file = open('example.txt', 'w')  # Otwiera plik do zapisu, tworząc go, jeśli nie istnieje
file.write("This is a new file.\n")
file.close()
        

W tym przykładzie plik example.txt jest tworzony (jeśli nie istnieje) i zapisuje się do niego linia "This is a new file.\n".

Można stworzyć całkowicie pusty plik — po prostu otwórz go do zapisu i od razu zamknij.

Przykład tworzenia pustego pliku


file = open('example.txt', 'w')  
file.close()
        

Zwróć uwagę, że jeśli otworzysz do zapisu istniejący plik, to cała jego zawartość zostanie usunięta.

3.2 Zapis do pliku

Istnieją dwie popularne metody do zapisywania danych w pliku — write() i writelines().

Metoda write()

Metoda write() zapisuje linię do pliku. Jeśli plik jest otwarty w trybie zapisu ('w'), jego zawartość zostanie usunięta przed zapisem nowych danych. Jeśli plik jest otwarty w trybie dodawania ('a'), nowe dane zostaną dodane na końcu pliku.

Przykład użycia write():


# Otwarcie pliku w trybie zapisu
file = open('example.txt', 'w')
file.write("Hello, World!\n")
file.write("This is a test file.\n")
file.close()
        

Metoda writelines()

Metoda writelines() przyjmuje listę linii i zapisuje je do pliku. Nie dodaje znaków nowej linii automatycznie, więc musisz je uwzględnić w liniach.

Przykład użycia writelines():


lines = ["First line.\n", "Second line.\n", "Third line.\n"]

# Otwarcie pliku w trybie zapisu
file = open('example.txt', 'w')
file.writelines(lines)
file.close()
        

Kodowanie pliku

Możesz określić kodowanie tekstowego pliku przy jego czytaniu lub zapisie. Robi się to za pomocą nazwanych parametrów encoding.

Przykład:


# Otwarcie pliku do zapisu z kodowaniem UTF-8
file = open('example_utf8.txt', 'w', encoding='utf-8')  
file.write("Teks po polsku.\n")
file.write("More text in UTF-8.\n")
file.close()
        

Porozmawiamy o różnych kodowaniach plików i tekstu później, ale już teraz warto wiedzieć, że ten parametr istnieje i jego użycie może uchronić cię przed wieloma problemami.

3.3 Dodawanie danych do pliku

Dodawanie danych na końcu pliku jest tak samo proste, jak ich zapis. Musisz tylko określić tryb dodawania ('a') przy otwieraniu pliku, a wszystko inne dzieje się automatycznie.

Oto kilka przykładów:

Dodawanie linii na końcu pliku

Ten przykład pokazuje, jak otworzyć plik w trybie dodawania ('a') i dodać kilka linii na jego końcu.


file = open('example.txt', 'a')  # Otwarcie pliku do dodawania danych
file.write("This is a new line added to the file.\n")
file.write("Another line is appended.\n")
file.close()  # Zamknięcie pliku
        

Dodawanie listy linii na końcu pliku

Ten przykład pokazuje, jak użyć metody writelines() do dodania listy linii na końcu pliku.


lines = [
    "Appending first line from list.\n",
    "Appending second line from list.\n",
    "Appending third line from list.\n"
]
        
file = open('example.txt', 'a')  # Otwarcie pliku do dodawania danych
file.writelines(lines)  # Dodanie listy linii
file.close()  # Zamknięcie pliku
        

Dodawanie linii z określeniem kodowania

Ten przykład pokazuje, jak otworzyć plik w trybie dodawania z określeniem kodowania (na przykład, UTF-8) i dodać linię.


# Otwarcie pliku do dodawania danych z określeniem kodowania
file = open('example_utf8.txt', 'a', encoding='utf-8')  
file.write("Dodawanie linii z użyciem UTF-8.\n")
file.write("Dodano jeszcze jedną linię.\n")
file.close()  # Zamknięcie pliku
        

Jak widzisz, to bardzo proste.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION