logo

Jak czytać z pliku w Pythonie

Python udostępnia wbudowane funkcje umożliwiające tworzenie, zapisywanie i odczytywanie plików. Istnieją dwa typy plików, które można obsługiwać w Pythonie: zwykłe pliki tekstowe i pliki binarne (zapisane w języku binarnym, zerami i jedynkami).

    Pliki tekstowe: w plikach tego typu każda linia tekstu jest zakończona znakiem specjalnym zwanym EOL (koniec linii), który w Pythonie jest domyślnie znakiem nowej linii („ ”). Pliki binarne: W plikach tego typu nie ma terminatora linii, a dane są przechowywane po przekonwertowaniu ich na zrozumiały dla maszyny język binarny.

Notatka: Aby dowiedzieć się więcej o obsłudze plików Kliknij tutaj .

Tryb dostępu

Tryby dostępu regulują rodzaj operacji możliwych do wykonania na otwartym pliku. Odnosi się do sposobu wykorzystania pliku po jego otwarciu. Tryby te definiują również położenie uchwytu pliku w pliku. Uchwyt pliku działa jak kursor, który określa, skąd dane mają zostać odczytane lub zapisane w pliku. Różne tryby dostępu do odczytu pliku to –



    Tylko do odczytu („r”): Otwórz plik tekstowy do odczytu. Uchwyt znajduje się na początku pilnika. Jeśli plik nie istnieje, zgłasza błąd we/wy. Jest to także domyślny tryb otwierania pliku. Odczyt i zapis („r+”): Otwórz plik do odczytu i zapisu. Uchwyt znajduje się na początku pilnika. Zgłasza błąd we/wy, jeśli plik nie istnieje. Dołącz i przeczytaj („a+”): Otwórz plik do odczytu i zapisu. Plik jest tworzony, jeśli nie istnieje. Uchwyt znajduje się na końcu pilnika. Zapisywane dane zostaną wstawione na końcu, po danych już istniejących.

Notatka: Aby dowiedzieć się więcej o trybie dostępu Kliknij tutaj .

Otwieranie pliku

Odbywa się to za pomocą funkcji open(). Aby skorzystać z tej funkcji, nie trzeba importować żadnego modułu.

Składnia:

modele uczenia maszynowego
File_object = open(r'File_Name', 'Access_Mode')>

Plik powinien znajdować się w tym samym katalogu co plik programu w Pythonie, w przeciwnym razie w miejscu nazwy pliku należy wpisać pełny adres pliku. Notatka: R jest umieszczane przed nazwą pliku, aby zapobiec traktowaniu znaków w nazwie pliku jako znaku specjalnego. Na przykład, jeśli w adresie pliku znajduje się emp, wówczas jest traktowane jako znak tabulacji i zgłaszany jest błąd dotyczący nieprawidłowego adresu. R powoduje, że ciąg znaków jest surowy, to znaczy informuje, że ciąg nie zawiera żadnych znaków specjalnych. R można zignorować, jeśli plik znajduje się w tym samym katalogu, a adres nie jest umieszczany.

Python3




# Open function to open the file 'MyFile1.txt'> # (same directory) in read mode and> file1>=> open>('MyFile.txt', 'r')> > # store its reference in the variable file1> # and 'MyFile2.txt' in D:Text in file2> file2>=> open>(r'D:TextMyFile2.txt', 'r>+>')>

>

>

Tutaj plik 1 jest tworzony jako obiekt dla MyFile1, a plik 2 jako obiekt dla MyFile2.

Zamykanie pliku

Funkcja close() zamyka plik i zwalnia miejsce w pamięci zajmowane przez ten plik. Stosuje się go w momencie, gdy plik nie jest już potrzebny lub ma zostać otwarty w innym trybie pliku.

Składnia:

File_object.close()>

Python3


np. gdzie



# Opening and Closing a file 'MyFile.txt'> # for object name file1.> file1>=> open>('MyFile.txt', 'r')> file1.close()>

>

>

Odczyt z pliku

Dane z pliku tekstowego można odczytać na trzy sposoby.

    read() : Zwraca przeczytane bajty w postaci ciągu znaków. Odczytuje n bajtów, jeśli nie określono n, czyta cały plik.
File_object.read([n])>
    readline() : Odczytuje linię pliku i zwraca w postaci ciągu znaków. Dla określonego n odczytuje maksymalnie n bajtów. Jednak nie czyta więcej niż jednej linii, nawet jeśli n przekracza długość linii.
File_object.readline([n])>
    readlines() : Odczytuje wszystkie linie i zwraca je jako element ciągu znaków na liście.
File_object.readlines()>

Notatka: „ ” jest traktowane jako znak specjalny składający się z dwóch bajtów.

Przykład:

Python3




# Program to show various ways to> # read data from a file.> # Creating a file> file1>=> open>('myfile.txt', 'w')> L>=> ['This>is> Delhi ', 'This>is> Paris ', 'This>is> London ']> # Writing data to a file> file1.write('Hello ')> file1.writelines(L)> file1.close()># to change file access modes> file1>=> open>('myfile.txt', 'r>+>')> print>('Output of Read function>is> ')> print>(file1.read())> print>()> # seek(n) takes the file handle to the nth> # byte from the beginning.> file1.seek(>0>)> print>('Output of Readline function>is> ')> print>(file1.readline())> print>()> file1.seek(>0>)> # To show difference between read and readline> print>('Output of Read(>9>) function>is> ')> print>(file1.read(>9>))> print>()> file1.seek(>0>)> print>('Output of Readline(>9>) function>is> ')> print>(file1.readline(>9>))> print>()> file1.seek(>0>)> # readlines function> print>('Output of Readlines function>is> ')> print>(file1.readlines())> print>()> file1.close()>

>

>

Wyjście:

Output of Read function is Hello This is Delhi This is Paris This is London Output of Readline function is Hello Output of Read(9) function is Hello Th Output of Readline(9) function is Hello Output of Readlines function is ['Hello 
', 'This is Delhi 
', 'This is Paris 
', 'This is London 
']>

Z oświadczeniem

with w Pythonie jest używany do obsługi wyjątków, dzięki czemu kod jest czystszy i znacznie bardziej czytelny. Upraszcza zarządzanie typowymi zasobami, takimi jak strumienie plików. W przeciwieństwie do powyższych implementacji, podczas korzystania z instrukcji with nie ma potrzeby wywoływania metody file.close(). Sama instrukcja with zapewnia prawidłowe pozyskiwanie i uwalnianie zasobów.

Składnia:

with open filename as file:>

Python3


shehzad poonawala



# Program to show various ways to> # read data from a file.> L>=> ['This>is> Delhi ', 'This>is> Paris ', 'This>is> London ']> # Creating a file> with>open>('myfile.txt', 'w') as file1:> ># Writing data to a file> >file1.write('Hello ')> >file1.writelines(L)> >file1.close()># to change file access modes> with>open>('myfile.txt', 'r>+>') as file1:> ># Reading from a file> >print>(file1.read())>

>

>

Wyjście:

Hello This is Delhi This is Paris This is London>

Notatka: Aby dowiedzieć się więcej o z oświadczeniem Kliknij tutaj .