Spis treści:

Opanuj Pythona od podstaw: bezpłatny kurs tworzenia botów Telegramu, parserów sieciowych i stron internetowych pod okiem eksperta z „Sbera”
Dowiedz się więcejPraca z plikami to podstawowa umiejętność programistów. Pliki służą do przechowywania logów usług, danych kluczowych, wyników obliczeń — wszystkiego, co jest ważne do zachowania. Python oferuje wygodne, wbudowane funkcje z przejrzystą składnią do wykonywania tych zadań. W tym artykule omówimy, jak tworzyć, kopiować, otwierać i odczytywać pliki, a także jak zapisywać w nich nowe informacje.
Spis treści
- Python umożliwia interakcję z różnymi typami plików, umożliwiając przetwarzanie danych w szerokiej gamie formatów. Przede wszystkim są to dokumenty tekstowe, które mogą zawierać proste informacje w postaci ciągów znaków. Takie pliki zazwyczaj mają rozszerzenia .txt lub .csv.
Python obsługuje również pracę z plikami JSON, co jest szczególnie wygodne w przypadku wymiany danych między aplikacjami i przechowywania ustrukturyzowanych informacji. Możliwe jest również przetwarzanie plików XML, które są powszechnie używane do reprezentacji danych w formie hierarchicznej.
Innym ważnym typem plików są pliki binarne, które mogą zawierać obrazy, pliki audio lub wideo. W tym przypadku wykorzystywane są specjalistyczne biblioteki, takie jak PIL do pracy z obrazami lub biblioteka wave do przetwarzania plików dźwiękowych.
Nie zapominajmy o formatach Excela, w których Python może być przydatny do analizy i przetwarzania danych tabelarycznych za pomocą bibliotek takich jak pandas.
W ten sposób Python zapewnia elastyczne narzędzia do pracy z różnymi plikami, co czyni go uniwersalnym językiem programowania do rozwiązywania wielu problemów z przetwarzaniem danych.
- Jak otworzyć plik
- Praca z plikami, w tym ich odczyt i zapis, jest ważnym aspektem programowania. Proces odczytu pozwala na wyodrębnienie informacji z pliku, a zapis zapewnia zapisanie danych w pliku. Operacje te można wykonywać różnymi metodami, w zależności od języka programowania i formatu pliku.
Podczas odczytu pliku program uzyskuje dostęp do jego zawartości, co pozwala mu uzyskać żądane dane do dalszego przetwarzania. W większości przypadków, zanim będzie można pracować z plikiem, należy go otworzyć, co można zrobić w trybie odczytu lub zapisu. Po zakończeniu operacji plik należy zamknąć, aby uniknąć wycieków pamięci i innych problemów.
Zapisywanie danych do pliku zazwyczaj wiąże się z tworzeniem lub aktualizacją jego zawartości. W zależności od wymagań, program może zapisywać dane przyrostowo lub wczytywać je w całości. Należy również pamiętać, że nadpisywanie pliku może spowodować utratę poprzednich informacji, o ile nie zaznaczono inaczej.
Dlatego efektywne zarządzanie plikami wymaga dbałości o szczegóły i zrozumienia różnych trybów pracy z nimi.
- Sterowanie kursorem
- Jak zamknąć plik
- Zarządzanie plikami w systemie operacyjnym jest ważnym aspektem pracy z komputerem. Proces ten obejmuje tworzenie, edycję, przenoszenie i usuwanie plików, a także organizowanie ich przechowywania.
Na początek, tworzenie nowego pliku odbywa się zazwyczaj za pomocą menu kontekstowego, dostępnego po kliknięciu prawym przyciskiem myszy w wybranym folderze. Wybranie odpowiedniego typu pliku pozwala szybko uruchomić wybrany program. Edycja plików odbywa się zazwyczaj za pomocą specjalistycznego oprogramowania odpowiedniego do formatu dokumentu.
Przenoszenie plików można wykonać, po prostu przeciągając je z jednego folderu do drugiego lub używając poleceń kopiuj-wklej. Usuwanie odbywa się z kolei poprzez zaznaczenie pliku i naciśnięcie klawisza Delete lub za pomocą menu kontekstowego.
Organizowanie plików polega na tworzeniu folderów w celu ich uporządkowania. Pomaga to zachować porządek i ułatwia znalezienie potrzebnych informacji. Warto również zwrócić uwagę na korzystanie ze skrótów, które mogą przyspieszyć dostęp do często używanych dokumentów.
Nie zapominaj o znaczeniu regularnego tworzenia kopii zapasowych danych, aby uniknąć utraty informacji w przypadku awarii systemu lub uszkodzenia pliku.
Typy plików dostępne do przetwarzania w Pythonie
W Pythonie istnieją dwie główne kategorie plików:
- Pliki tekstowe to dokumenty zawierające informacje łatwo zrozumiałe dla człowieka. Pliki te obejmują formaty z rozszerzeniami takimi jak .txt, .csv, .log, .ini, .json, .xml i inne.
- Pliki binarne to dane zakodowane jako sekwencja bajtów. Ta kategoria obejmuje różne dokumenty, takie jak .jpg, .png, .gif, .docx, .mp4, .exe, .dat i wiele innych. Ich przetwarzanie zazwyczaj wymaga specjalistycznych programów. Na przykład Photoshop jest często używany do edycji obrazów, a Final Cut Pro do pracy z wideo.
Następnie przyjrzymy się funkcjom w Pythonie, które mogą przetwarzać zarówno pliki tekstowe, jak i binarne. Należy jednak pamiętać, że po otwarciu obrazu zamiast typowego zdjęcia z wakacji pojawi się zestaw znaków. Będzie to sekwencja binarna reprezentująca kodowanie obrazu.

Przeczytaj także:
Jak nauczyć się Pythona samodzielnie i bez kosztów finansowych: przewodnik krok po kroku.
Jak otworzyć konto plik
Zanim zaczniesz edytować plik, musisz go otworzyć. W Pythonie do tego celu używana jest funkcja open(). Przyjmuje ona dwa argumenty: nazwę pliku i tryb, w którym zostanie on otwarty, i zwraca obiekt reprezentujący plik. Ogólnie rzecz biorąc, funkcja ta wygląda następująco:
W tym przypadku:
- file_name — może to być ścieżka względna (na przykład data/input.txt) lub ścieżka bezwzględna (na przykład C:\Users\User\Documents\my_file.txt) do pliku.
- mode — to parametr określający sposób otwierania pliku. Na przykład możesz ustawić go w trybie tylko do odczytu, aby zapobiec przypadkowemu usunięciu informacji.
- encoding_type — to parametr określający kodowanie plików tekstowych. W konfiguracji domyślnej Python używa wartości systemowych: w systemie Windows jest to CP1251, a w systemie Linux UTF-8. Podczas pracy z cyrylicą zaleca się jawne określenie UTF-8, aby uniknąć potencjalnych problemów z wyświetlaniem znaków na różnych platformach.

Przeczytaj także:
Funkcje w Pythonie: kompletny przewodnik
Metody interakcji z danymi pliku
Przyjrzyjmy się kluczowym trybom interakcji z plikami w Pythonie, które można określić jako parametr podczas wywołania funkcji open():
- ‘r’ to tryb, w którym plik jest otwierany do odczytu. Należy pamiętać, że sam plik musi już istnieć, w przeciwnym razie wystąpi błąd FileNotFoundError.
- Tryb ‘w’ umożliwia otwarcie pliku do zapisu. Jeśli plik już istnieje, Python usunie wszystkie jego dane, a jeśli nie istnieje, zostanie utworzony nowy plik.
- ‘a’ umożliwia dopisywanie informacji na końcu istniejącego pliku. Jeśli plik nie istnieje, Python utworzy nowy plik o podanej nazwie.
- ‘x’ — generuje plik przy użyciu nazwy podanej w argumentach funkcji.
- ‘b’ umożliwia interakcję z plikami binarnymi, takimi jak obrazy. Flaga ta musi być używana w połączeniu z jednym z wcześniej wymienionych trybów otwierania: ‘rb’, ‘wb’, ‘ab’ lub ‘xb’.
- Tryb ‘+’ to tryb ogólnego przeznaczenia, który umożliwia jednoczesne wykonywanie operacji odczytu i zapisu. Należy go używać w połączeniu z jednym z wcześniej wymienionych trybów otwartych: ‘r+’, ‘w+’, ‘a+’ lub ‘x+’.

Obsługa plików: odczyt i zapis danych
Po otwarciu pliku możesz rozpocząć interakcję z jego danymi. Python oferuje wiele przydatnych funkcji, które ułatwią ten proces. Przyjrzyjmy się, jak ich poprawnie używać.
Dane można wyodrębnić z pliku za pomocą różnych funkcji:
Metoda read() pozwala wyodrębnić całą zawartość pliku i zapisać ją w jednym wierszu. To podejście sprawdza się w przypadku małych plików. Jeśli dysponujesz dokładnymi informacjami o liczbie znaków do odczytania, możesz podać tę wartość jako argument. Na przykład, wywołanie file.read(100) spowoduje, że odczytanych zostanie tylko pierwszych 100 znaków pliku.
Funkcja readline() pozwala odczytać zawartość pliku wiersz po wierszu. W ten sposób zapisuje znak nowej linii (\n) po każdym wierszu. Nawet jeśli w pliku znajduje się pusty wiersz, funkcja również go uwzględnia.
Funkcja readlines() pozwala wyodrębnić wiersze z pliku i zapisać je jako listę, gdzie każdy wiersz jest reprezentowany przez osobny element. Ta metoda jest idealna w przypadkach, gdy konieczne jest przetwarzanie wierszy pojedynczo.
Pętla for line in file pozwala na wyodrębnianie informacji z pliku wiersz po wierszu i przetwarzanie każdego pojedynczego wiersza. Ta metoda jest szczególnie przydatna podczas pracy z dużymi plikami, ponieważ nie ładuje całego pliku do pamięci RAM na raz.
Używając Pythona, można dopisywać informacje do pliku, na przykład zapisując je do pliku dziennika. Aby to zrobić, należy otworzyć plik za pomocą funkcji open() w trybie zapisu, a następnie użyć jednej z dostępnych funkcji:
write() to funkcja przeznaczona do zapisywania wiersza do pliku. Jeśli trzeba podzielić tekst na wiele wierszy, należy użyć znaku końca wiersza (\n):
Główną cechą funkcji write() jest to, że jest ona przeznaczona wyłącznie do pracy z ciągami znaków. Jeśli trzeba zapisać wartości liczbowe do pliku, należy najpierw przekonwertować te dane na format ciągu znaków.
Funkcja writelines() służy do zapisywania listy wierszy do pliku. Jako parametr wejściowy akceptuje listę zawierającą ciągi znaków jako swoje elementy.

Przeczytaj także:
Listy w Pythonie: koncepcja i metody pracy z nimi
Listy są jednym z podstawowych typów danych w Pythonie, umożliwiającym przechowywanie sekwencji wartości. Struktury te mogą zawierać elementy różnych typów, takie jak liczby, ciągi znaków, a nawet inne listy. Ze względu na swoją elastyczność i łatwość użycia listy stały się ważnym narzędziem w programowaniu.
Aby utworzyć listę, należy użyć nawiasów kwadratowych do umieszczenia elementów oddzielonych przecinkami. Na przykład, można zdefiniować listę zawierającą różne owoce: `fruits = [‘apple’, ‘banana’, ‘pear’]`.
Praca z listami obejmuje wiele operacji. Obejmują one dodawanie nowych elementów, usuwanie istniejących i zmianę wartości według indeksu. Na przykład, aby dodać element na koniec listy, należy użyć metody `append()`, a aby usunąć element, należy użyć metody `remove()`, która usuwa pierwsze wystąpienie określonej wartości.
Indeksowanie umożliwia dostęp do elementów listy według ich pozycji, zaczynając od zera. W ten sposób pierwszy element listy można pobrać, podając indeks 0, a ostatni element można pobrać, używając indeksów ujemnych.
Listy obsługują również wycinanie, które pozwala na pobieranie podzbiorów elementów. Na przykład `fruits[1:3]` zwróci elementy o indeksach 1 i 2. Dzięki temu praca z danymi jest wygodniejsza i wydajniejsza.
Ponadto listy mają wiele wbudowanych metod, takich jak `sort()`, która sortuje elementy, lub `reverse()`, która odwraca ich kolejność. Narzędzia te znacznie upraszczają manipulację danymi.
Podsumowując, listy w Pythonie to potężne i wszechstronne narzędzie, które daje programistom możliwość łatwego i elastycznego organizowania i przetwarzania danych.
Chociaż funkcja print() w Pythonie jest najczęściej używana do wyświetlania informacji w konsoli, można jej również użyć do zapisu danych do pliku za pomocą parametru file. Ta metoda jest wygodna, ponieważ automatycznie dodaje znak podziału wiersza.
Zarządzanie kursorem
W niektórych przypadkach konieczne jest wyodrębnienie informacji z określonej części pliku, na przykład z jego obszaru centralnego. Python udostępnia funkcje, które pozwalają zarządzać kursorem w pliku, co umożliwia przesunięcie go do żądanej pozycji i kontynuowanie pracy z danymi od tego miejsca. Przyjrzyjmy się funkcjom dostępnym dla tego zadania:
Funkcja tell() pozwala dowiedzieć się, gdzie dokładnie znajduje się kursor w otwartym pliku. Zwraca ona wartość wskazującą liczbę bajtów liczonych od początku pliku do bieżącej pozycji kursora. Należy pamiętać, że w plikach tekstowych liczba ta nie zawsze odpowiada liczbie odczytanych lub zapisanych znaków, ponieważ znaki mogą zajmować różną liczbę bajtów w zależności od użytego kodowania.
Funkcja seek(offset, whence=0) służy do zmiany położenia kursora w pliku. Podczas wywołania tej funkcji należy określić dwa parametry: przesunięcie w bajtach, do którego ma zostać przesunięty kursor, oraz względną wartość przesunięcia (whence). Domyślnie drugi parametr jest ustawiony na 0, co oznacza przesunięcie od początku pliku, ale istnieją inne opcje:
- 1 – względem bieżącej pozycji kursora;
- 2 – od końca pliku.
Na przykład, aby przesunąć kursor o 10 bajtów od początku pliku, możesz użyć następującej metody:
Jak zamknąć plik
Po zakończeniu pracy z plikiem koniecznie go zamknij. Jeśli zignorujesz ten krok, istnieje ryzyko utraty danych, a inne aplikacje na Twoim urządzeniu nie będą mogły go otworzyć.
W języku programowania Python metoda close() służy do kończenia pracy z plikami.
Aby uprościć pracę z plikami, możesz użyć konstrukcji with open(…), która nie tylko automatycznie zamyka pliki po zakończeniu, ale także sprawia, że kod jest bardziej przejrzysty i łatwiejszy w czytaniu. Oto przykład użycia tej konstrukcji:
Wydajna obsługa plików w systemie operacyjnym
Python obsługuje nie tylko odczyt i zapis plików, ale także ich tworzenie, usuwanie, zmianę nazw, kopiowanie i przenoszenie. Do wykonywania tych zadań służą moduły os, shutil i pathlib.
Lista kluczowych możliwości pracy z plikami w Pythonie:
- os.path.exists(‘file_name’) — sprawdza, czy plik o podanej nazwie istnieje.
- os.remove(‘file_name’) — usuwa określony plik.
- os.rename(‘old_name’, ‘new_name’) — to polecenie zmienia nazwę pliku.
- shutil.move(‘old_folder/file.txt’, ‘new_folder/file.txt’) — przenosi plik z jednej lokalizacji do drugiej.
- Polecenie Polecenie os.listdir(‘folder’) umożliwia uzyskanie listy plików i katalogów znajdujących się w określonym folderze.
Rozważmy poniższy przykład, w którym opracujemy program, który może utworzyć plik, następnie go skopiować, a na końcu usunąć oryginalny plik.

Przeczytaj także:
Wprowadzenie do IDLE dla Pythona: od podstaw do napisania pierwszego programu
O czym należy pamiętać
- Python umożliwia pracę zarówno z plikami tekstowymi, jak i binarnymi, a wszystkie niezbędne funkcje do tego celu można znaleźć w bibliotece standardowej.
- Przed wprowadzeniem jakichkolwiek zmian w pliku należy go otworzyć za pomocą funkcji open(). Jako parametr należy określić tryb, w którym będzie pracować z dokumentem. Tryb ten określa, jakie operacje można wykonać na pliku po jego otwarciu.
- Po zakończeniu pracy z dokumentem niezwykle ważne jest użycie funkcji close(), aby zamknąć plik. W przeciwnym razie istnieje ryzyko, że zmiany nie zostaną zapisane.
- Moduły Pythona, takie jak os, shutil i pathlib, udostępniają szereg funkcji zaprojektowanych do interakcji z systemem plików. Za ich pomocą możesz nie tylko tworzyć pliki i katalogi, ale także wykonywać operacje takie jak kopiowanie, usuwanie i zmiana nazw tych obiektów.
Chcesz dowiedzieć się więcej o kodowaniu? Dołącz do naszego kanału na Telegramie!
Przeczytaj również:
- Listy w Pythonie: Definicja i jak ich używać
Listy są jednym z kluczowych typów danych w Pythonie, umożliwiającym przechowywanie kolekcji elementów w uporządkowany sposób. Mogą zawierać elementy różnych typów, w tym liczby, ciągi znaków, a nawet inne listy. Praca z listami w Pythonie jest dość prosta i oferują one bogaty zestaw metod manipulowania danymi.
Listę można utworzyć za pomocą nawiasów kwadratowych, w których elementy są rozdzielone przecinkami. Na przykład możesz utworzyć listę zawierającą liczby: `[1, 2, 3, 4]` lub listę ciągów znaków: `[«apple», «banana», «cherry»]`. Możesz również zainicjować pustą listę za pomocą `[]`.
Dostęp do elementów listy odbywa się poprzez ich indeksy, zaczynając od zera. Zatem, aby uzyskać pierwszy element listy, musisz określić indeks 0. Na przykład dla listy `fruits = [«apple», «banana», «cherry»]` wyrażenie `fruits[0]` zwraca «apple».
Listy w Pythonie są dynamiczne, co oznacza, że ich rozmiar może się zmieniać podczas działania programu. Elementy można dodawać, usuwać lub modyfikować. Aby dodać element na końcu listy, należy użyć metody append(), na przykład fruits.append(orange) doda element orange na koniec listy. Aby wstawić element w określonym miejscu, można użyć metody insert(), określając indeks i wartość.
Elementy można usuwać za pomocą metody remove(), która usuwa pierwsze wystąpienie określonej wartości, lub za pomocą metody pop(), która usuwa element o określonym indeksie i zwraca go. Jeśli indeks nie zostanie określony, metoda pop() usunie ostatni element.
Listy obsługują różne operacje, takie jak łączenie i powtarzanie. Łączenie wykonuje się za pomocą operatora +, a powtarzanie za pomocą *. Na przykład `list1 + list2` połączy dwie listy, a `list * 3` utworzy nową listę składającą się z trzech kopii oryginału.
Co więcej, listy można łatwo przetwarzać za pomocą pętli i wyrażeń listowych, co pozwala na tworzenie nowych list na podstawie istniejących. To czyni je potężnym narzędziem do pracy z danymi w Pythonie.
Podsumowując, listy to wszechstronny i elastyczny sposób przechowywania i zarządzania danymi w Pythonie, oferujący wiele możliwości efektywnego programowania.
- Sprawdź swoje umiejętności: czy potrafisz odróżnić zasady zen Pythona od idei filozoficznych Lao Tzu?
- Podstawowe typy danych w Pythonie dla początkujących: czym są i jak z nimi współdziałać.
