替换文件中的字节序列

时间:2016-05-20 20:54:29

标签: python file replace

在文件中替换3个字节序列的多次出现的最有效/ pythonic方法是什么?

我开始将整个文件加载到内存中,搜索,更换,泡沫,冲洗,重复。但正如我在“家庭作业评论家”中所指出的那样,我的解决方案效率很低,因为我的文件可能是多个TB,这对于记入内存会很困难。我的替代方法是逐字节读取并通过逐字节比较来接近它,这听起来效率低下。

编辑:为清晰起见而编辑。希望。

1 个答案:

答案 0 :(得分:0)

f = open('workfile', 'r+b')
f.seek(5)      # Go to the 6th byte in the file
f.write('abc')
f.close()

我假设您需要替换文件中的已知偏移量;这是我从这个指定不清的问题中得出的唯一结论。如果你的意思是替换为'a'变为'b'而'c'变为'd',你应该只读取小块的文件,在其中执行替换并将结果写出来。