Запись сырых дисковых байтов в Python - PullRequest
0 голосов
/ 10 марта 2020

Я ищу способ записи необработанных байтов в образ диска, используя Python. Например, у меня есть список, содержащий несколько символов, и мне нужно написать все эти символы в разных частях моего диска.

В моем скрипте Python мне нужно сделать что-то вроде этого: Мой список xab содержит все те символы, которые мне нужно написать в my, а список SelectedSectors содержит сектора, которые будут записаны с каждым xab символами.

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

Я не являюсь уверен в том, как обращаться с отдельными байтами в образе моего диска, используя Python. Как мне решить эту проблему?

С уважением,

F.Borges

1 Ответ

2 голосов
/ 10 марта 2020

Режим добавления автоматически выполняет все записи в конце. Откройте файл в режиме rb+. r запрещает усечение файла при его открытии, а + разрешает запись в дополнение к чтению.

Кроме того, for i in SelectedSectors устанавливает i для элементов списка, а не индексов; вам не нужно индексировать список внутри l oop.

with open("mydisk.img",'rb+') as disk:
    for i in SelectedSectors:
        disk.seek(i)
        disk.write(xab[i])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...