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.
GO TO FULL VERSION