logo

Readlines w Pythonie

  • Readlines ( ) to funkcja używana w Pythonie do jednokrotnego odczytania określonego pliku linia po linii.
  • Jest to bardzo przydatne w zmniejszaniu złożoność czasu podczas czytania pliku przy użyciu podejścia brute-force oraz przy użyciu pętli i różnych iteracji.
  • To jest kod jednowierszowy i prosta funkcja, która jest znacznie lepsza niż używanie wielu pętli do samego czytania pliku.
  • W programowaniu w C czytanie pliku jest dość trudnym zadaniem, ale jest bardzo łatwe do wdrożenia dzięki funkcji readlines ( ) w Pythonie.
  • funkcja readlines ( ) odczytuje tylko jedną pełną linię z podanego pliku; po przeczytaniu zwraca całą linię zawierającą wszystkie elementy w formie listy.
  • Jeśli chcemy otworzyć plik w normalnym trybie odczytu, funkcja readline ( ) zwróci nam ciąg znaków.
  • Jeśli chcemy otworzyć plik w trybie binarnym, funkcja readline ( ) zwróci nam obiekt binarny.
  • Bardzo korzystne jest także dodanie znaku nowej linii ( ' ') na końcu linii.
  • Ta funkcja readlines ( ) nadaje się głównie do plików o małych rozmiarach, zawierających mniej danych, co pozwala na łatwe odczytanie całego pliku w krótszym czasie.
  • Najpierw za jednym razem odczytuje zawartość pliku do pamięci, a następnie dzieli je na różne wiersze. Za pomocą funkcji strip ( ) możemy iterować po całej liście, która została wygenerowana funkcją readline ( ), a za pomocą funkcji strip ( ) możemy usunąć znak nowej linii ' '.

Koncepcja pliku Pythona

Język programowania Python ma różne wbudowane funkcje pisanie, tworzenie, I czytanie plików. W Pythonie obsługiwane są dwa typy plików, czyli zwykłe pliki tekstowe, a drugi to pliki binarne, zapisane głównie w języku binarnym, czyli zerach i jedynkach.

    Pliki tekstowe:Pliki te zawierają dane w postaci tekstu zakończonego znakiem specjalnym zwanym EOL (koniec linii), domyślnie w Pythonie znakiem nowej linii (' ').Pliki binarne:Pliki tego typu zawierają dane w postaci ciągów binarnych, składających się głównie z zer i jedynek.

Pewne podstawowe kroki, które należy wykonać w pliku:

Otwieranie pliku: Otwarcie pliku odbywa się za pomocą funkcji open ( ); podczas korzystania z tej funkcji musimy przekazać nazwę pliku i tryb dostępu jako argument.

Tutaj tryby dostępu do plików są następujące:

    Tylko do odczytu ( r ):Służy do odczytu danych z pliku. Pozycjonuje początek pliku. Jeśli wspomniany plik nie istnieje, wygeneruje błąd wejścia/wyjścia. Tylko do odczytu jest domyślnym trybem otwierania pliku; korzystając z tego trybu nie możemy edytować danych pliku ani zapisać ich do pliku.Tylko napisz ( 'w'):Służy do zapisu danych do pliku, pozycjonując początek pliku. Jeśli wspomniany plik nie istnieje, wygeneruje błąd wejścia/wyjścia. Korzystając z tego trybu nie możemy odczytać danych z pliku.Odczyt i zapis ( ' r+ ' ):Tryb ten służy do zapisu i odczytu danych z pliku. Jeśli porównamy to z poprzednim trybem, to zauważymy, że w trybie tylko do odczytu nie możemy pisać do pliku, ale w tym trybie możemy czytać i zapisywać do pliku.

Przykładowo, jeśli mamy plik o nazwie hello.txt i chcemy go otworzyć w trybie zapisu, to możemy go użyć jako:

konwencja nazewnictwa dla Java

Plik1 = otwarty („witaj.txt”, „w”)

Zamykanie pliku: Funkcja Close służy do zwalniania miejsca w pamięci wymaganego przez plik; tę metodę stosuje się, gdy plik nie jest już potrzebny lub gdy chcemy zamknąć cały plik i chcemy otworzyć plik w innym trybie. Dokonuje się tego za pomocą funkcji zamknięcia ( ), a wewnątrz tej funkcji nie musimy przekazywać żadnego argumentu; dostęp do tej funkcji można uzyskać za pomocą nazwy pliku i dostarczonej przez funkcję zamykania kropki.

Przykładowo, jeśli mamy plik o nazwie hello.txt i chcemy go otworzyć w trybie zapisu, to możemy go użyć jako:

c tablica ciągów
Plik1 = otwarty („witaj.txt”, „w”)
Plik1.zamknij ( )

Zapisywanie w pliku: Jak sama nazwa wskazuje, w tej metodzie łatwo możemy przewidzieć, co będziemy musieli zapisać w pliku. Istnieją dwa sposoby zapisu w pliku:

    Pisać ( ):W tej funkcji musimy przekazać pojedynczy argument, czyli ciąg znaków, który chcemy wstawić do pliku.
    Przykładowo, jeśli mamy plik o nazwie hello.txt i chcemy go otworzyć w trybie zapisu, to możemy go użyć jako:
    Plik1 = otwarty („witaj.txt”, „w”)
    Plik1.zapis ( str )
    Tutaj str jest ciągiem, który chcemy wstawić do pliku.Linie zapisu ( ):W tej funkcji musimy przekazać tablicę lub listę składającą się z wielu ciągów. Służy do jednoczesnego wstawiania wielu różnych ciągów znaków do pliku.
    Przykładowo, jeśli mamy plik o nazwie hello.txt i chcemy go otworzyć w trybie zapisu, to możemy go użyć jako:
    Plik1 = otwarty („witaj.txt”, „w”)
    File1.writelines( S ) dla S = [ str1 , str2 , str3 ]

Odczyt z pliku: Podobnie w tym przypadku możemy przewidzieć, co musimy zrobić w tym; nawet w tym samouczku szczegółowo omówimy jedną z metod czytania. W tej metodzie musimy odczytać dane z konkretnego pliku. Dane z pliku można odczytać na trzy sposoby:

Funkcja prototypowa w C++
    Czytać ( ):Zwraca przeczytane bajty w postaci ciągu znaków. Odczytuje n bajtów; jeśli n nie jest określone, odczytuje cały plik.Czytaj linię ( ):Odczytuje linię pliku i zwraca w postaci ciągu znaków. Dla określonego n odczytuje co najwyżej n bajtów. funkcja readline ( ) nie czyta więcej niż jednej linii naraz; nawet jeśli n przekracza, odczytuje tylko jedną linię. Funkcja Readline ( ) odczytuje linię pliku i zwraca ją w postaci ciągu znaków. Przyjmuje wartość całkowitą n jako parametr, aby odczytać liczbę znaków odczytywanych jednocześnie. Metoda Readline ( ) jest bardzo skuteczna w czytaniu danych z bardzo dużego pliku, ponieważ pobiera dane linia po linii, a następnie zwraca je i drukuje na ekranie. Readline ( ) zwraca następną linię pliku, która na końcu zawiera znak nowej linii. Ponadto, jeśli plik osiągnie koniec, zwróci pusty ciąg.linie odczytu ( ):Odczytuje wszystkie linie i zwraca je jako element ciągu na liście. Readlines ( ) służy do jednoczesnego odczytania wszystkich linii, a następnie zwrócenia ich jako elementu ciągu na liście. Funkcję tę można zastosować w przypadku małych plików, gdyż wczytuje ona całą zawartość pliku do pamięci, a następnie dzieli ją na osobne wiersze. Korzystając z funkcji strip (), możemy iterować po liście i usuwać znak nowej linii „ ” za pomocą funkcji strip ( ).

Przyjrzyjmy się teraz bliżej koncepcji odczytywania pliku na przykładzie:

Przykłady odczytu pliku w Pythonie:

Przykład 1:

Odczyt pliku za pomocą funkcji readlines ( ).

 # Python program to implement the file concept using readlines ( ) for reading a file Fruits = ['Apple
', 'Orange
', 'Banana
'] # writing to file file = open('hello.txt', 'w') file.writelines(Fruits) # writelines is used to write the data into the file in # the form of a list, by inserting multiple values at the same time, # here, we are taking the hello.txt file file.close() # This instruction is used to close the file, i.e., hello.txt # Using readlines() file = open('hello.txt', 'r') Statements = file.readlines() count = 0 # Strips the newline character for line in Statements: # Using for loop to print the data of the file count = count + 1 print('Statement{}: {}'.format(count, line.strip())) 

Wynik powyższego przykładu:

Readlines w Pythonie

Przykład 2:

Odczyt pliku za pomocą funkcji readline ( ).

przypisy do przecen
 # Python program to implement the file concept using readline() for reading a file Fruit = [ 'Apple
' , 'Graphs
' , 'Mango
' , 'Orange
' , 'Kiwi
' ] # Writing to a file file1 = open('new.txt', 'w') file1.writelines((Fruit)) # writelines is used to write the data into the file in # the form of list, by inserting multiple values at a same time, # here we are taking new.txt file file1.close() # This instruction is used to close the file, i.e., hello.txt # Using readline() file1 = open('new.txt', 'r') count = 0 while True: count = count + 1 # Get next line from file s = file1.readline() # if line is empty # end of file is reached if not s: break print('Statement{}: {}'.format(count, s.strip())) file1.close() 

Wynik powyższego przykładu:

Readlines w Pythonie

Przykład 3:

Odczyt pliku za pomocą prostej pętli for:

W tej metodzie nie używamy funkcji readline ( ), ani nawet funkcji readline ( ), ponieważ widzieliśmy już użycie obu funkcji w powyższych przykładach; w tej metodzie do wydrukowania danych z pliku użyjemy pętli for. Będziemy iterować obiekty pliku i czytać plik linia po linii, chociaż używamy niektórych predefiniowanych wbudowanych funkcji Pythona. Korzystając z wbudowanych funkcji Pythona, możemy łatwo iterować po obiekcie pliku, niejawnie, używając pętli for w połączeniu z obiektem iterowalnym.

 ## Python program to implement the file concept using the simple for loop for reading a file Fruits = ['Apple 
', ' Orange 
', 'Banana 
', 'Mango
', 'Pineapple
' ] # Writing to file file2 = open('file2.txt', 'w') file2.writelines(Fruits) # writelines is used to write the data into the file in # the form of list, by inserting multiple values at a same time, # here we are taking file2.txt file file2.close() # This instruction is used to close the file, i.e., hello.txt # Opening file file2 = open('file2.txt', 'r') count = 0 # Using for loop print('Using for loop') for line in file2: count = count + 1 print('Statement{}: {}'.format(count, line.strip())) # Closing files file2.close() 

Wynik powyższego przykładu:

Readlines w Pythonie

Przykład 4:

Odczyt pliku za pomocą instrukcji „z”:

Jeśli zauważymy powyższe 3 przykłady, łatwo zauważymy, że za każdym razem, gdy plik ma zostać otwarty, należy go zamknąć; jeśli nie zamkniemy pliku, spowoduje to kilka błędów w programie, ponieważ wiele zmian nie zostało dokonanych w pliku lub wejdzie w życie, dopóki nie zamkniemy pliku.

oni są piosenkarzami

Aby przezwyciężyć ten problem, użyjemy instrukcji „with”, która jest używana głównie w obsłudze wyjątków w Pythonie, aby kod był bardziej przejrzysty i czytelny. Tutaj, w tym przykładzie, można łatwo zauważyć, że nie używamy funkcji file.close ( ) raz po raz, aby zapobiec plikowi, użycie jej może odbywać się automatycznie za pomocą instrukcji. W związku z tym zmniejsza liczbę wierszy kodu i sprawia, że ​​program jest szybszy w uruchomieniu i wydajniejszy.

 # Python program to implement the file concept using with statement for reading a file Veges = ['Potato
', 'Onion
', 'Tomamto
'] # Writing to file with open('file3.txt', 'w') as file: file.writelines(Veges) # writelines is used to write the data into the file in # the form of list, by inserting multiple values at a same time, # here we are taking file3.txt file # using readlines() count = 0 print('Using readlines()') with open('file3.txt') as file: Statements = file.readlines() for line in Statements: count = count + 1 print('Satement{}: {}'.format(count, line.strip())) # Using readline() count = 0 print('
Using readline()') with open('file3.txt') as file: while True: count = count + 1 line = file.readline() if not line: break print('Statement{}: {}'.format(count, line.strip())) # Using for loop count = 0 print('
 Using for loop') with open('file3.txt') as file: for line in file: count = count + 1 print('Statements{}: {}'.format(count, line.strip())) 

Wynik powyższego przykładu:

Readlines w Pythonie