Перезапись укусов в файле с использованием шестнадцатеричного значения PYTHON - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть значение "c" в шестнадцатеричном представлении: 0x515d6e39.Это означает, что укусы выглядят следующим образом: 51 5D 6E 39. Моя задача - перейти к уже существующему файлу, открыть его и заменить укусы с позиций (например) 38-го по 41-е на вышеупомянутые укусы.

Я пытался открыть файл в режиме 'rb'.Затем я использовал функцию поиска для поиска нужных позиций.Затем использовал функцию записи со значением «c», но она не работает.Может ли кто-нибудь помочь мне с этой проблемой?

Я прикрепляю свой код:

import binascii


def main():
    a=963534161
    b=bytearray.fromhex(format(a, 'x'))
    b.reverse() ## I wanted to reverse my bites
    c=hex(int(binascii.hexlify(b),16))
    print c

    file=r'D:\Programs\WinKalk\winkalk.7zip' ## path to any file
    f=open(file, 'wb')
    f.seek(38) ## for example position 38th
    f.write(c)
    f.close()



if __name__ == '__main__':
    main()

Ошибка: 'str' не поддерживает интерфейс буфера

...