Dato un file di grandi dimensioni (centinaia di MB) come potrei usare Python per leggere rapidamente il contenuto tra uno specifico indice di inizio e di fine all'interno del file?Come leggere una parte specifica di file di grandi dimensioni in Python
In sostanza, sto cercando un modo più efficace di fare:
open(filename).read()[start_index:end_index]
nota che questo è equivalente solo con il codice OP per i file con codifica a byte singolo (come ASCII) o file binari poiché 'start_index' dell'OP e' end_index' sono posizione dei caratteri mentre 'seek()' e 'read () 'funziona con la posizione del byte. Quando hai un file con codifica a larghezza variabile, potresti dover decodificare il file per poterlo indicizzare correttamente. –
Questo è davvero un buon punto. Ero molto in modalità ASCII :-) –
Un punto in più: se stai provando a leggere più segmenti contigui di un file, fin.read (n) imposta automaticamente il puntatore di lettura sul prossimo byte da leggere. – MrMas