python: edita el archivo ISO directamente

  1. ¿Es posible tomar un archivo ISO y editar un archivo directamente en él, es decir, no desempaquetándolo, cambiando el archivo y reenvasándolo?
  2. ¿Es posible hacer 1. desde Python? ¿Cómo lo haría?

  1. Por supuesto, como con cualquier archivo.

  2. Se puede hacer con operaciones de abrir / leer / escribir / buscar / decir / cerrar en un archivo. Empaquetar / desempaquetar los datos con struct / ctypes. Requeriría un conocimiento serio de los contenidos de ISO, pero supongo que ya sabe qué hacer. Si tiene suerte, puede intentar usar mmap, la interfaz para archivar contenidos parecidos a cadenas.

¿Has visto Hachoir , una biblioteca de Python para “ver y editar un campo de flujo binario por campo”? No he tenido la necesidad de probarlo yo mismo, pero ISO 9660 aparece como un formato de analizador compatible .

Se puede usar para listar y extraer, probé el primero.

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