Вы видели Hachoir , библиотеку Python для "просмотра и редактирования двоичного потока поле за полем"? У меня не было необходимости пробовать это самому, но ISO 9660 указан как поддерживаемый формат синтаксического анализатора .
Вы можете использовать для распечатки и извлечения, я тестировал первый.
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
Конечно, как с любым файлом.
Это можно сделать с помощью операций открытия / чтения / записи / поиска / передачи / закрытия файла. Упакуйте / распакуйте данные с помощью struct / ctypes. Это потребовало бы серьезных знаний о содержании ISO, но я полагаю, вы уже знаете, что делать. Если вам повезет, вы можете попробовать использовать mmap - интерфейс для строкового содержимого файла.