2

我有一个以“ab+”模式打开的文件。

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

文件:

thisissomethingasperfectlygood.

细绳:

01234

因此,例如,我寻找位置 (4, 0) 并且我想写 01234 来代替文件中的“issom”。最后一次出现是:

this01234ethingasperfectlygood.

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

4

2 回答 2

2

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

于 2009-10-20T10:13:51.873 回答
2

您可以为此使用 mmap

import os,mmap
f=os.open("afile",os.O_RDWR)
m=mmap.mmap(f,0)
m[4:9]="01234"
os.close(f)
于 2009-10-20T10:15:52.990 回答