python - 从另一个文件打开、定位、写入文件
我想我可能做错了什么。
不过我不太确定是什么原因,但我一直收到 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()
还有,不要在行末加分号!!!