用Python写入原始磁盘字节

时间:2020-03-10 17:24:40

标签: python raw-disk

我正在寻找一种使用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处理磁盘映像中的单个字节。我该如何解决这个问题?

最诚挚的问候,

伯格斯堡

1 个答案:

答案 0 :(得分:2)

附加模式会在最后自动执行所有写操作。以rb+模式打开文件。 r可以防止在打开文件时将其截断,+允许在读取操作之外进行写入操作。

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

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