Angesichts einer großen Datei (Hunderte von MB) Wie würde ich Python verwenden, um schnell den Inhalt zwischen einem bestimmten Start- und Ende-Index in der Datei zu lesen?Wie man einen bestimmten Teil einer großen Datei in Python liest
Im Wesentlichen, ich suche für eine effizientere Art und Weise zu tun:
open(filename).read()[start_index:end_index]
Beachten Sie, dass dies nur OP-Code für Dateien mit Single-Byte-Codierung (wie ASCII) oder Binärdateien entspricht, da die 'start_index' und' end_index' des OP die Zeichenposition sind, während 'seek()' und 'read () 'arbeitet mit Byte-Position. Wenn Sie eine Datei mit Codierung mit variabler Breite haben, müssen Sie möglicherweise die Datei dekodieren, um korrekt indizieren zu können. –
Das ist ein wirklich guter Punkt. Ich war sehr im ASCII-Modus :-) –
Ein zusätzlicher Punkt: Wenn Sie versuchen, mehrere zusammenhängende Segmente einer Datei zu lesen, setzt fin.read (n) den Lesezeiger automatisch auf das nächste zu lesende Byte. – MrMas