Biorąc pod uwagę duży plik (setki MB), w jaki sposób mogę użyć Pythona do szybkiego odczytania zawartości pomiędzy określonym indeksem początkowym i końcowym w pliku?Jak odczytywać określoną część dużego pliku w Pythonie
Zasadniczo szukam bardziej efektywny sposób prowadzenia:
open(filename).read()[start_index:end_index]
Zauważ, że jest to równoważne tylko z kodem OP dla plików z kodowaniem jednobajtowym (takim jak ASCII) lub plików binarnych, ponieważ indeksy "start_index" i "end_index" są pozycją znakową, podczas gdy 'seek()' i 'read () 'działa z pozycją bajtu. Gdy masz plik z kodowaniem o zmiennej szerokości, może być konieczne odkodowanie pliku, aby można go było poprawnie indeksować. –
To naprawdę dobry punkt. Byłem bardzo w trybie ASCII :-) –
Jeszcze jeden punkt: jeśli próbujesz odczytać wiele sąsiednich segmentów pliku, fin.read (n) automatycznie ustawia wskaźnik odczytu na następny bajt do odczytania. – MrMas