Digamos que tengo un archivo binario de 12GB y quiero cortar 8GB del medio. Sé los índices de posición que quiero cortar.Python: cortar un archivo binario muy grande
¿Cómo puedo hacer esto? Obviamente, 12 GB no encajarán en la memoria, está bien, pero 8 GB tampoco ... Lo cual pensé que estaba bien, ¡pero parece que a binario no parece gustarle que lo haga en pedazos! Estaba agregando 10MB a la vez a un nuevo archivo binario y hay discontinuidades en los bordes de cada fragmento de 10MB en el nuevo archivo.
¿Hay alguna manera Pythonic de hacer esto fácilmente?
hice algo muy parecido a esto y no parecía que le gustaba, con binario si se extrae un bloque de datos de en medio no puede a veces meter la pata en los bordes ya que necesita los bytes que lo rodean para tener sentido? Hmm. Voy a probar tu código a través de aplausos. ¿También obtuviste tu longitud y memoria intermedia al revés en la última línea de tu código? –
Eso es inicio y duración ... la última línea usa el valor predeterminado para bufsize. No estoy seguro de lo que quiere decir con "ensuciarse en los bordes". Si necesita bytes circundantes, ¿su inicio y longitud son incorrectos? –
¡Estás en lo correcto! Me equivoqué, todo funciona ahora :) Entonces, ¿cuál es el tamaño de búfer óptimo para la transferencia de archivos? 1MB bueno? –