Скажем, у меня есть двоичный файл размером 12 ГБ, и я хочу срезать 8 ГБ из середины его. Я знаю индексы позиций, которые хочу сократить между ними.Python: нарезка очень большого двоичного файла
Как это сделать? Очевидно, что 12 ГБ не поместится в память, это нормально, но 8 ГБ тоже не будет ... Что я думал, все в порядке, но кажется, что двоичный код, похоже, не нравится, если вы делаете это в кусках! Я добавлял 10 Мбайт одновременно к новому двоичному файлу, и на новом краю каждого фрагмента 10 МБ есть разрывы.
Есть ли способ сделать это с помощью Pythonic?
я сделал что-то очень похожее, чем это, и это, похоже, не нравится, с бинарным, если вы извлечь блок данных из середины не может иногда испортить по краям так как нужно, чтобы его окружающие байты имели смысл? Хм. Я попробую ваш код, хотя ура. Также вы получили свою длину и забросили неправильный путь в последней строке вашего кода? –
Это начало и длина ... последняя строка использует значение по умолчанию для bufsize. Я не уверен, что вы подразумеваете под «беспорядками по краям». Если вам нужны окружающие байты, возможно, ваш старт и длина неверны? –
Вы правы! Я перепутал себя, все работает сейчас :) Каков оптимальный размер буфера для передачи файлов? 1MB хорошо? –