python: редактировать файл ISO напрямую - PullRequest
3 голосов
/ 06 апреля 2011
  1. Можно ли взять файл ISO и отредактировать файл в нем напрямую, т.е. не распаковывая его, не меняя файл и не перепаковывая его?
  2. Можно сделать 1. из Python? Как бы я это сделал?

Ответы [ 3 ]

4 голосов
/ 18 апреля 2011

Вы видели Hachoir , библиотеку Python для "просмотра и редактирования двоичного потока поле за полем"? У меня не было необходимости пробовать это самому, но ISO 9660 указан как поддерживаемый формат синтаксического анализатора .

2 голосов
/ 30 октября 2016

Вы можете использовать для распечатки и извлечения, я тестировал первый.

https://github.com/barneygale/iso9660/blob/master/iso9660.py

import iso9660
cd = iso9660.ISO9660("/Users/murat/Downloads/VisualStudio6Enterprise.ISO")
for path in cd.tree():
    print path

https://github.com/barneygale/isoparser

import isoparser
iso = isoparser.parse("http://www.microsoft.com/linux.iso")

print iso.record("boot", "grub").children
print iso.record("boot", "grub", "grub.cfg").content
0 голосов
/ 07 апреля 2011
  1. Конечно, как с любым файлом.

  2. Это можно сделать с помощью операций открытия / чтения / записи / поиска / передачи / закрытия файла. Упакуйте / распакуйте данные с помощью struct / ctypes. Это потребовало бы серьезных знаний о содержании ISO, но я полагаю, вы уже знаете, что делать. Если вам повезет, вы можете попробовать использовать mmap - интерфейс для строкового содержимого файла.

...