Odczyt i zapis do pliku w celu przechowywania lub późniejszego wykorzystania to typowe zadania w programowaniu. Python oferuje wiele sposobów pracy z plikami, ale my skupimy się szczególnie na pisaniu do plików tekstowych. Pliki tekstowe służą do przechowywania danych w postaci zwykłego tekstu, a Python ułatwia programistom odczytywanie i zapisywanie danych w plikach tekstowych.
W tym samouczku wyjaśnimy, jak użytkownicy mogą pisać w pliku tekstowym za pomocą języka Python.
Python ma wbudowaną funkcję tworzenia, zapisywania i odczytywania plików. Może obsługiwać dwa typy plików: zwykłe pliki tekstowe i pliki binarne. Wybór pomiędzy tymi dwoma zależy od danych, nad którymi pracujesz i wymagań aplikacji.
Składnia otwierania pliku w Pythonie:
# Method 1: file = open (path_to_the_file, mode) # Manually required to close the file `file.close()` to ensure that # changes made are saved, and system resources are freed up. # Method 2: with open (path_to_the_file, mode) as file: # It automatically closes the file properly # after the block code is executed.
Funkcja open() może przyjmować różne parametry. Ale użytkownik musi skupić się na dwóch pierwszych:
Do zapisu w pliku tekstowym użytkownik skorzysta z następującego trybu:
Tryb | Opis |
---|---|
'w' | Służy do otwierania pliku tekstowego w celu zapisania tekstu. W tym trybie plik zostanie obcięty, co oznacza, że istniejąca zawartość pliku zostanie usunięta. |
'A' | Służy do otwierania pliku tekstowego w celu dołączenia tekstu. Wskaźnik zostanie umieszczony na końcu pliku, a nowe dane zostaną dodane do istniejącej zawartości. |
Przykład: Aby pokazać, jak użytkownik może pisać w pliku tekstowym za pomocą języka Python
file.write(' ') file.writelines(' ')
To całkowicie zależy od użytkownika, czy chce dodać tekst w następnym wierszu, czy nie.
matematyka pow java
Przykład 2: Aby pokazać, jak używać funkcji write() do zapisywania listy tekstów w pliku tekstowym
# Method 1 - Simple Approach file = open ('writeme.txt', 'w') file.write('writeme') file.close() # Method 2 - Using the 'with' keyword to open a file with open ('writeme.txt', 'w') as file: file.write('writeme')
Wyjście:
Obie metody dają ten sam wynik.
Kroki zapisu w pliku tekstowym w Pythonie:
Do zapisu w pliku tekstowym za pomocą Pyton użytkownik musi wykonać następujące kroki:
Krok 1 — Otwórz plik — Aby rozpocząć zapis do pliku tekstowego, należy go najpierw otworzyć za pomocą wbudowanej funkcji open(), która przyjmuje dwa parametry: nazwę pliku (wraz ze ścieżką, jeśli plik nie znajduje się w bieżącym katalogu) oraz tryb, w którym którym chcemy otworzyć plik. W przypadku zapisu do pliku tekstowego możemy skorzystać z trybu „w”, który oznacza tryb zapisu, lub trybu „a”, który oznacza tryb dopisywania. Jeśli plik nie istnieje, Python utworzy nowy plik o podanej nazwie.
# Opening a file 'example.txt' file = open('example.txt', 'w')
Funkcja open() zwróci obiekt pliku, który będzie miał dwie przydatne funkcje umożliwiające zapisanie w nim tekstu:
- pisać()
- linie zapisu()
Funkcja write() służy do zapisywania ciągu znaków w pliku tekstowym, a funkcja writelines() służy do jednoczesnego zapisywania listy ciągów znaków w pliku.
Funkcja writelines() może również akceptować obiekt iterowalny. Użytkownik może również przekazać krotkę ciągów, zestaw ciągów itp.
Aby móc wpisać kolejny wiersz, użytkownik musi ręcznie dodać znak nowego wiersza.
Krok 2 - Zapisz do pliku: Gdy tylko plik zostanie otwarty w trybie zapisu, możemy użyć funkcji write() lub funkcji writelines() do zapisu w nim. Metoda write() przyjmuje jako parametr ciąg znaków, który chcemy zapisać do pliku. Możemy napisać wiele wierszy, wywołując wielokrotnie funkcję write() lub używając znaków nowego wiersza ( ) pomiędzy ciągami znaków w celu oddzielenia wierszy.
# Using the 'write' function file.write('This is the first line. ') file.write('This is the second line. ') # Using the 'writelines' function file.writelines('This is the first line. This is the second line. ')
Krok 3 – Zamknij plik: Użytkownik może zamknąć plik tekstowy za pomocą funkcji close(). Po zapisaniu żądanej treści do pliku ważne jest jego prawidłowe zamknięcie. Zamknięcie pliku gwarantuje zapisanie wszelkich zmian i zwolnienie zasobów systemowych.
# Closing the file file.close()
Przykład 2: Aby pokazać, jak użytkownicy mogą dodać znak nowej linii w pliku txt
file.write(' ') file.writelines(' ')
To całkowicie zależy od użytkowników, czy chcą dodać tekst w następnym wierszu, czy nie.
Przykład 3: Aby pokazać, jak używać funkcji write() do zapisywania listy tekstów lub ciągów znaków w pliku tekstowym
# Creating a list of strings lines_1 = [ 'This is an example', 'to show how a user can write in a text file using Python'] with open('text.txt', 'w') as file: # Iterating over each element of the list for line_1 in lines_1: file.write(line_1) # Adding the line to the text.txt file.write(' ') # Adding a new line character
Wyjście:
Wyjaśnienie:
W powyższym przykładzie najpierw utworzyliśmy listę ciągów o nazwie linie_1, a następnie otworzyliśmy ten plik za pomocą funkcji open() z instrukcją „with”. Następnie użyliśmy pętli for do iteracji po elementach listy, a następnie zapisaliśmy linię i dodaliśmy nowy znak linii do pliku. Na końcu pętli for zostanie dodany nowy znak linii, a wskaźnik zostanie umieszczony w następnej linii.
Jeżeli w folderze nie ma pliku tekstowego.txt, funkcja open() utworzy nowy plik i zostaną wykonane odpowiednie operacje.
Przykład 4: Aby pokazać, jak użytkownicy mogą zapisać listę ciągów tekstowych w pliku tekst.txt za pomocą funkcji writelines():
Sprawdzanie zerowej wartości Java
# Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can write in a text file using writelines() function in Python.'] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines() function file.writelines(lines_1)
Wyjście:
Wyjaśnienie:
W powyższym przykładzie funkcja writelines() zapisuje każdy element listy w jednym wierszu pliku.
Jeśli użytkownik traktuje każdy element listy jako linię, musi połączyć go ze znakiem nowej linii.
Przykład 4: Aby pokazać, jak użytkownik może połączyć znak nowej linii z każdym elementem linii w pliku tekstowym.txt
Widzieliśmy już w przykładzie nr 3, jak możemy dodać nowy znak linii po każdym elemencie listy. Korzystając z funkcji writelines(), musimy dodać nowy znak linii w ciągu.
# Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can link a new line character ', 'with each element of the list. '] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines function file.writelines(lines_1)
Wyjście:
Wyjaśnienie:
W powyższym przykładzie funkcja writelines() zapisuje element listy do pliku tekstowego.txt, gdzie każdy element listy kończy się znakiem nowej linii.
Wniosek
W tym samouczku wyjaśniliśmy, jak użytkownik może pisać teksty w pliku tekstowym, używając języka Python i jego różnych funkcji. Najpierw poznaliśmy normalne i binarne pliki tekstowe, a następnie poznaliśmy składnię otwierania pliku. Przyjrzeliśmy się także różnicy między „w” (tryb zapisu) i „a” (tryb dodawania). Następnie dowiedzieliśmy się, jak pisać w pliku tekstowym w Pythonie i zaimplementowaliśmy różne przykłady, aby zrozumieć różne metody pisania w pliku tekstowym.