У меня есть значение "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' не поддерживает интерфейс буфера