答案 0 :(得分:4)
您是否见过Hachoir,这是一个“按字段查看和编辑二进制流字段”的Python库?我自己没有必要尝试,但ISO 9660被列为supported parser format。
答案 1 :(得分:2)
你可以使用列表和提取,我测试了第一个。
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
答案 2 :(得分:2)
PyCdlib可以读取和编辑ISO-9660文件以及Joliet,Rock Ridge,UDF和El Torito扩展名。它的documentation中有很多详细的示例,其中包括一个演示如何edit a file in-place的示例。在撰写本文时,它无法添加或删除文件或编辑目录。但是,与旧答案中链接的库相比,它仍在积极维护。
答案 3 :(得分:-1)
当然,与任何文件一样。
可以对文件进行打开/读/写/查找/告知/关闭操作。使用struct / ctypes打包/解压缩数据。这需要认真了解ISO的内容,但我认为你已经知道该怎么做了。如果你很幸运,你可以尝试使用mmap - 文件内容字符串的接口。