字符串按给定位置替换文件

时间:2009-10-20 10:00:08

标签: python string replace seek

我在'ab +'模式下打开了一个文件。

我需要做的是用另一个字符串的字节替换文件中的一些字节,以便:

文件:

thisissomethingasperfectlygood.

的字符串:

01234

所以,例如,我寻找位置(4,0),我想在文件中的“issom”位置写入01234。最后的出现是:

this01234ethingasperfectlygood

网上有一些解决方案,但所有这些解决方案(至少我能找到的)都是基于“首先在文件中找到一个字符串,然后用另一个字符串替换它”。因为我的案子是基于寻求,所以我对解决方案感到困惑。

2 个答案:

答案 0 :(得分:2)

您可以mmap()您的文件,然后使用切片表示法更新文件中的特定字节范围。示例here应该会有所帮助。

答案 1 :(得分:2)

您可以使用mmap

import os,mmap
f=os.open("afile",os.O_RDWR)
m=mmap.mmap(f,0)
m[4:9]="01234"
os.close(f)