python - 从另一个文件打开、定位、写入文件

0 投票
1 回答
892 浏览
提问于 2025-04-17 14:24

我想我可能做错了什么。
不过我不太确定是什么原因,但我一直收到 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 处理文件方面还是个新手,尽管我已经读过相关的资料。
我真的很想开始学习更多的知识,但我需要一些好的例子,任何帮助我都会非常感激 :)

1 个回答

4

你正在尝试把一个文件对象写入文件,而不是写一个字符串。

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

接下来继续这样做。

在处理文件时,最好使用 with 语句:

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

还有,不要在行末加分号!!!

撰写回答