#python #hex #hexdump
#python #шестнадцатеричное #шестнадцатеричный дамп
Вопрос:
Я хочу добавить 2 байта (0000) в конец определенного сегмента файла (в шестнадцатеричном формате) без изменения существующих данных.
От:
00000 FFD8 FFE0 0010 4A46 4946 0001 0101 0048 0048 FFEE
00014 000E 4164 6F62 6500 ....
.....
Для:
00000 FFD8 FFE0 0010 4A46 4946 0001 0101 0048 0048 0000 <---
00014 FFEE 000E 4164 6F62 6500 ....
.....
Проблема в том, что файл может быть очень большим (до 50 МБ), поэтому я не могу просто внести это крошечное изменение и переписать каждый байт в новый файл.
Итак, все, что я хочу сделать, это расширить существующий сегмент (добавив 0000), не касаясь остальной части файла. (И да, я знаю, что я не могу добавить новое значение в память без изменения других адресов, связанных с данными).
Есть ли какой-либо способ сделать это в Python?
Комментарии:
1. Невозможно добавить данные — какими бы маленькими они ни были — в середину файла без перезаписи указанного файла. Однако, если вы читаете и записываете файл большими порциями, это должно быть достаточно быстро.
2. Грустно. В любом случае спасибо.