在 Python 中写入原始磁盘字节

Write raw disk bytes in Python

我正在寻找一种使用 Python 将原始字节写入磁盘映像的方法。例如,我有一个包含多个字符的列表,我需要将所有这些字符写入磁盘的不同部分。

在我的 Python 脚本中,我需要做这样的事情: 我的列表 xab 包含我需要在我的 this 和 SelectedSectors 列表中写入的所有字符包含将用每个 xab 个字符写入的扇区。

disk = open("mydisk.img",'ab')
for i in SelectedSectors:
    disk.seek(SelectedSectors[i])
    disk.write(xab[i])
disk.close()

我不确定如何使用 Python 处理磁盘映像中的单个字节。我该如何解决这个问题?

此致,

F.Borges

追加模式在最后自动执行所有写入。以 rb+ 模式打开文件。 r 防止文件在打开时被截断,+ 允许除了读取之外还写入。

此外,for i in SelectedSectorsi 设置为列表的元素,而不是索引;您不需要在循环内索引列表。

with open("mydisk.img",'rb+') as disk:
    for i in SelectedSectors:
        disk.seek(i)
        disk.write(xab[i])