4
  1. 是否可以获取 ISO 文件并直接在其中编辑文件,即不通过解压缩、更改文件和重新打包来进行?
  2. 有可能做 1. 从 Python 吗?我该怎么做?
4

4 回答 4

3

你见过Hachoir,一个“逐个字段查看和编辑二进制流”的 Python 库吗?我不需要自己尝试,但 ISO 9660 被列为受支持的解析器格式

于 2011-04-18T05:00:34.200 回答
3

可以用于列出和提取,我测试了第一个。

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
于 2016-10-29T21:04:22.550 回答
2

PyCdlib可以读取和编辑 ISO-9660 文件,以及 Joliet、Rock Ridge、UDF 和 El Torito 扩展。它的文档中有很多详细的示例,包括一个展示如何就地编辑文件的示例。在撰写本文时,它无法添加或删除文件,或编辑目录。但是,与旧答案中链接的库相比,它仍然得到积极维护。

于 2020-05-21T11:15:42.147 回答
-1
  1. 当然,与任何文件一样。

  2. 它可以通过对文件的打开/读取/写入/查找/告诉/关闭操作来完成。使用 struct/ctypes 打包/解包数据。这需要对 ISO 的内容有深入的了解,但我想你已经知道该怎么做了。如果幸运的话,您可以尝试使用 mmap - 类似于文件内容的接口。

于 2011-04-07T11:39:29.787 回答