按给定位置在文件中替换字符串
我有一个文件是以 'ab+' 模式打开的。
我需要做的是把文件中的一些字节替换成另一个字符串的字节,具体来说:
文件内容:
thisissomethingasperfectlygood.
字符串:
01234
举个例子,我想在位置 (4, 0) 替换掉文件中的 "issom",把它改成 "01234"。最后的结果应该是:
this01234ethingasperfectlygood
。
网上有一些解决方案,但我找到的都是先在文件中找到一个字符串,然后再用另一个字符串替换的方式。因为我的情况是基于位置查找的,所以我对解决方案感到困惑。
2 个回答
2
你可以使用mmap()来映射你的文件,然后通过切片的方式来更新文件中的特定字节范围。这里有一个例子 可以参考。
3
你可以用mmap来实现这个功能。
import os,mmap
f=os.open("afile",os.O_RDWR)
m=mmap.mmap(f,0)
m[4:9]="01234"
os.close(f)