Szukaj plików Pythona

Szukaj plików Pythona
Python ma kilka technik radzenia sobie z plikami. Istnieją metody skutecznego manipulowania wskaźnikiem pliku oraz podstawowych operacji, takich jak czytanie i pisanie do plików. Dowiesz się, jak wykorzystać metodę Seek () do przeniesienia wskaźnika pliku podczas czytania lub zapisywania pliku w tym artykule.

Funkcja Seek () ustawia pozycję wskaźnika pliku, podczas gdy funkcja Tell () zwraca bieżącą pozycję wskaźnika pliku. Funkcja Python's Seek () zmienia bieżącą lokalizację pliku na przesunięcie. Skąd jest opcjonalnym parametrem, który domyślnie do 0 dla natychmiastowego umieszczenia pliku; Inne wartości to 1 dla poszukiwania w stosunku do niniejszej lokalizacji i 2 dla wyszukiwania w stosunku do końca pliku. Nie ma zwróconej wartości. Wszelkie działania Seek () zostaną usunięte przy następnym zapisie, jeśli plik zostanie otwarty na dołączenie za pomocą „A” lub „A+.„Ta metoda nie jest przydatna, jeśli plik jest po prostu otwarty do pisania i jest w trybie Dodatek z„ a ”, ale jest przydatna do plików otwartych w trybie dodatkowym z włączonym odczytaniem. Tylko przesunięcia zwrócone przez Tell () są legalne, gdy plik jest otwarty w trybie tekstowym z 't.„Zastosowanie różnych przesunięć powoduje nieprzewidywalne zachowanie. Należy pamiętać, że nie można przeszukać wszystkich obiektów plików.

Celem tego artykułu jest nauczenie, jak korzystać z metody Seek () w celu awansu lub cofnięcie kursora pliku z obecnej pozycji. Dowiedz się, jak przenieść wskaźnik pliku na początek lub koniec pliku. Dowiedz się, jak określić bieżącą pozycję „FileHandle”, przesuwając wskaźnik pliku do tyłu od końca pliku. Więc zacznijmy samouczek.

Przykład 1:

Rozważ następujący scenariusz, w którym czytamy zawartość pliku tekstowego z przesunięciem 5. Wskazuje to, że zaczniemy czytać plik o 5. znaku.

Tutaj otworzyliśmy plik, podając dokładną ścieżkę. Następnie czytamy zawartość z 5. postaci za pomocą metody Seek.

z otwartym (R'D:/Users/Demos/Demo.txt ', „r”) jako FP:
fp.szukaj (5)
Drukuj (FP.Czytać())

Pierwsze pięć znaków brakuje w wyjściu, jak widać.

Przykład 2:

W tym przypadku szukamy początku pliku. Ustawiając parametr skąd na 0, możemy użyć metody Seek () do przeniesienia odniesienia pliku na początek pliku. 0 oznacza początek pliku, który jest pierwszym bajtem. Spójrzmy, jak przenieść kursor pliku na początek pliku. Tutaj piszemy do pliku tekstowego w przykładzie postępowania. Chcieliśmy przenieść kursor na początek pliku po dodaniu treści, aby odczytać pełny plik.

z otwartym (R'D:/Users/Demos/Demo.txt ', „w+”) jako fp:
fp.Write („Przykładowy wiersz treści 1 \ n”)
fp.Write („Przykładowy wiersz treści 2”)
fp.szukaj (0)
Drukuj (FP.Czytać())

Tekst jest napisany.

Poniżej znajduje się zaktualizowany tekst po pomyślnym wykonaniu kodu.

Przykład 3:

W tym przykładzie będziemy szukać od końca pliku. W takim przypadku zaczniemy wyszukiwać na końcu pliku. Ustawiamy skąd na 2 i przesunięć do 0, aby przenieść wskaźnik pliku na koniec pliku. Trzy operacje wymienione poniżej zostaną przeprowadzone w poniższym przykładzie. Dodamy dodatkową zawartość i przeniesiemy wskaźnik pliku na koniec pliku. Odniesienie pliku zostanie następnie przeniesione na początek pliku, a nowe informacje zostaną tam dodane. Zwrócimy wskaźnik pliku na początek i kontynuujemy operactwo pisania. Spójrzmy, jak przenieść kursor pliku na koniec pliku. Użyjemy istniejącego pliku dla tego procesu i otworzymy nowy plik w trybie odczytu/zapisu.

z otwartym (R'D:/Users/Demos/Demo.txt ', „w+”) jako fp:
fp.Write („Przykładowy wiersz treści 1 \ n”)
fp.Write („Przykładowy wiersz treści 2”)
fp.szukaj (0)
Drukuj (FP.Czytać())

Treść jest dodawana na końcu linii.

Demo.Plik TXT jest również aktualizowany.

Przykład 4:

Wreszcie spojrzymy na obecną sytuację. Możemy przenieść wskaźnik pliku o kilka pozycji przed bieżącą pozycją, ustawiając się na 1 i zrównoważyć liczbę pozycji, którą chcemy zmodyfikować. Jeśli bieżący wskaźnik pliku znajduje się na 20. pozycji i chcesz skakać do 75. znak. Użyjemy istniejącego pliku i otworzymy nowy plik w trybie odczytu/zapisu dla tego procesu. Rozważ poniższy kod, który odczytuje trzy bajty i przekształca je na bajty. Przedmiot został następnie rozwinięty o 10 punktów z istniejącej pozycji. W ostatnim przeczytanie trzech bajtów.

z otwartym (R'D:/Users/Demos/Demo.txt ', „rb”) jako fp:
fp.szukaj (2)
Drukuj (FP.Przeczytaj (3).dekoduj („UTF-8”))
fp.szukaj (5, 1)
Drukuj (FP.Przeczytaj (3).dekoduj („UTF-8”))

Wynikowy ekran powyższego kodu jest następujący.

Wniosek:

W tym artykule nauczyliśmy się przeglądać różne części lub sekcje pliku za pomocą pliku. Pokazaliśmy, jak zmienić pozycję FileHandle za pomocą metody Seek (), aby dodać nową treść lub odczytać niektóre sekcje plików.