2012-10-08 12 views
2

배포 할 ISO 이미지가 있습니다. 그러나 사용자가 쉽게 설정할 수 있도록 각 .iso 파일에 고유 한 .config 파일을 추가하고 싶습니다.파이썬으로 .iso 파일 수정

파이썬을 사용하여 iso 파일을 수정하는 방법이 있습니까?

답변

3

파이썬 라이브러리 (this question 참고)로 ISO 파일을 탐색하거나 파싱하는 방법은 잘 알려져 있지만 ISO에 파일을 추가하려면 파일 시스템 수정이 필요합니다. 이는 사소한 일입니다.

대신 파일 시스템에 ISO 마운트를 시도하고 파이썬에서 수정 한 다음 다시 마운트 해제 할 수 있습니다. 우분투에서 일하는 것이 매우 빠른 예 :

ISO_PATH = "your_iso_path_here" 

# Mount the ISO in your OS 
os.system("mkdir /media/tmp_iso") 
os.system("mount -o rw,loop %s /media/tmp_iso" % ISO_PATH) 

# Do your Pythonic manipulation here: 
new_file = open("/media/tmp_iso/.config", 'w') 
new_file.write(data) 
new_file.close() 

# Unmount 
os.system("umount /media/tmp_iso") 
os.system("rmdir /media/tmp_iso") 

당신은 다른 것들 사이 subprocess 대신 os.system을 사용하고 싶을 것이다, 그러나 이것은 시작이다.

+0

감사합니다. 흥미 롭 군. 그래서 .iso 파일을 수정하면 체크섬이 어딘가에 바뀝니 까? – Alexis

+0

ISO 자체에서 내부 체크섬의 범위가 확실하지 않지만 잘 유지 관리되는 라이브러리에 가장 적합한 작업 인 파일 시스템을 변경하게됩니다. ISO 전체의 체크섬을 확실히 바꿀 것입니다. –

+0

은 .img와 동일합니다. – Alexis