CodeGym /Kursy /Python SELF PL /Praca z plikami

Praca z plikami

Python SELF PL
Poziom 21 , Lekcja 0
Dostępny

1.1 Otwarcie pliku

Praca z plikami w Pythonie to czysta przyjemność, bo to jest zrobione bardzo prosto i intuicyjnie. Teraz mówimy nie o tworzeniu czy przenoszeniu plików na dysku, ale o czytaniu i zapisywaniu zawartości plików.

Praca z zawartością pliku zazwyczaj przebiega według następującego schematu:


Otwarcie pliku 
Praca z danymi pliku
Zamknięcie pliku

Przykład czytania całej zawartości pliku:


file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()

Funkcja open jest używana do otwierania pliku. Przyjmuje dwa główne argumenty: nazwę pliku i tryb dostępu. Funkcja zwraca obiekt pliku, który można następnie używać do wykonywania operacji czytania i zapisywania.

Przykład:


file = open('example.txt', 'r')

Jeśli podano tylko nazwę pliku, będzie on szukany w bieżącym katalogu roboczym programu. Jeśli podano pełną nazwę pliku, to będzie dostęp do podanej ścieżki.

1.2 Tryby dostępu

Drugi parametr w funkcji open() określa tryb pracy z plikiem. Tryby dostępu definiują, jakie operacje można wykonywać z plikiem (czytanie, zapis itp.).

Oto główne tryby dostępu:

  • Read — czytanie.
  • Write — zapis.
  • Append — dodawanie.

Istnieje kilka wariacji tych trybów:

  • 'r': Otwarcie pliku do czytania (tryb domyślny). Plik musi istnieć.
  • 'w': Otwarcie pliku do zapisu. Zawartość pliku będzie usunięta. Jeśli plik nie istnieje, zostanie utworzony.
  • 'a': Otwarcie pliku do dodawania. Dane będą dodane na końcu pliku. Jeśli plik nie istnieje, zostanie utworzony.
  • 'r+': Otwarcie pliku do czytania i zapisywania. Plik musi istnieć.
  • 'w+': Otwarcie pliku do czytania i zapisywania. Zawartość pliku będzie usunięta. Jeśli plik nie istnieje, zostanie utworzony.
  • 'a+': Otwarcie pliku do czytania i dodawania. Dane będą dodane na końcu pliku. Jeśli plik nie istnieje, zostanie utworzony.

Przykład zapisu do pliku:

Jeśli chcesz zapisać dane do pliku, to po prostu podaj w jako tryb dostępu przy otwieraniu pliku. Zwróć uwagę, że cała stara zawartość pliku zostanie usunięta!


file = open('example.txt', 'w')
file.write("Hello, World!")
file.close()

Przykład dodawania do pliku:

Jeśli nie chcesz usuwać zawartości pliku, ale chcesz coś dopisać na jego końcu, to musisz podać a jako tryb dostępu do pliku.


file = open('example.txt', 'a')
file.write("\nAppended text.")
file.close()

Ważne! Jeśli piszesz do pliku, i jeszcze go nie ma, to zostanie utworzony automatycznie. Ale jeśli spróbujesz przeczytać dane z nieistniejącego pliku, wystąpi wyjątek.

1.3 Zamknięcie pliku

Za każdym razem, gdy otwierasz plik, system operacyjny sprawdza Twoje prawa dostępu do pliku i oznacza go jako używany przez Twój program. Do pracy z plikiem przydzielany jest specjalny zasób — handler.

Liczba handlerów, które może uzyskać Twój program, jest ograniczona. Oznacza to, że możesz mieć otwarte jedynie kilka setek plików jednocześnie. Wydaje się, że to dużo, ale jeśli Twój program pracuje na serwerze miesiącami i codziennie coś czyta i zapisuje do plików, to ten limit może zostać szybko osiągnięty.

Dlatego po zakończeniu pracy z plikiem, należy go zamknąć — wywołać metodę close(). W ten sposób informujesz system operacyjny, że nie potrzebujesz już tego pliku, i jego handler nie jest Ci potrzebny.

Zamknięcie pliku

Po zakończeniu pracy z plikiem należy go zamknąć, aby zwolnić zasoby systemowe. Do tego używamy metody close().


file = open('example.txt', 'r')
# Wykonanie operacji z plikiem
file.close()

Każdy plik, który otworzyłeś do czytania lub zapisywania, musi zostać zamknięty. Nie zapomnij wywołać metody close().

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