0

我想我做错了什么。
我不确定它是什么,但我不断得到TypeError: expected a character buffer object

我只想打开一个文件,寻找某些偏移量并覆盖patch1和patch2中的数据。

这是我正在使用的代码,请帮助我并告诉我我做错了什么:

patch1 = open("patch1", "r");
patch2 = open("patch2", "r");
main = open("patchthis.bin", "w");

main.seek(0xC0010);
main.write(patch1);
main.seek(0x7C0010);
main.write(patch1);
main.seek(0x40000);
main.write(patch2);
main.close();

在使用 python 处理文件时,我是菜鸟,尽管我已经阅读过它。
我真的很想开始学习更多,但我需要一些很好的例子,任何帮助肯定会不胜感激:)

4

1 回答 1

4

您正在尝试将文件对象写入文件,而不是字符串。尝试:

patch1_text = patch1.read()
main.write(patch1_text)

等等。

对文件进行操作时也使用 with 语句:

with open('patch1', 'r') as patch1:
    patch1_text = patch1.read()
    patch1.close()

并且不要在行尾使用分号!!!

于 2013-02-01T04:32:01.193 回答