Calciocambiare indici specifici stringa stesso pitone valore
lettura in una massiccia binario formato di file 1,3 GB circa e cambiare alcuni bit e quindi scrivere indietro in un file separato (non può modificare file originale).
Metodo
Quando ho letto nel file binario che viene memorizzato in una stringa massiccia codificato in formato esadecimale che è immutabile da quando sto usando pitone.
Il mio algoritmo scorre l'intero file e memorizza in un elenco tutti gli indici della stringa che devono essere modificati. Il problema è che tutti gli indici nella stringa devono essere modificati allo stesso valore. Non posso farlo sul posto a causa della natura immutabile. Non riesco a convertirlo in una lista di caratteri perché questo fa esplodere i miei vincoli di memoria e richiede molto tempo. La cosa da fare è memorizzarla in una stringa separata, ma a causa della natura immutabile devo creare una tonnellata di oggetti stringa e continuare a concatenarli.
Ho usato alcune idee da https://waymoot.org/home/python_string/ tuttavia non mi dà una buona prestazione. Qualche idea, l'obiettivo è copiare esattamente una stringa super lunga esistente in un altro tranne per determinati segnaposti determinati dai valori nella lista dell'indice?
Le sostituzioni hanno le stesse dimensioni dell'originale? Così puoi cercare la posizione del file e scrivere sul disco. –
Si dice "riscrivendolo", ma nel commento alla mia risposta si dice "il vincolo è di non modificare il file originale". Questa è una contraddizione. –
domanda modificata- scusa per l'ambiguità –