我想按字节替换文件的特定部分,这是一个丑陋的图像来解释我想要实现的目标:-我尝试用这段代码来做f=open('a.txt')f.seek(250, os.SEEK_SET)print(f.read(750))它工作正常,但它只读取文件,而不实际写入文件。我尝试使用这段代码f=open('a.txt')f.seek(250, os.SEEK_SET)print(f.write('data', 750))但write只需要 1 个参数,所以我无法使用write命令。有什么方法可以在 python 中实现这一点吗?
2 回答
倚天杖
TA贡献1828条经验 获得超3个赞
以适当的模式打开文件,查找所需的位置并写入要替换的字节数。要替换位置 250 到 750 之间的所有内容,您需要写入 500 个字节。
不过,在这种情况下,字节实际上并不正确,因为它似乎是一个文本文件,并且以文本模式打开。"r+b"
如果您确实想要二进制模式,请使用。
with open("a.txt", "r+") as f: f.seek(250) print(f.read(500)) f.seek(250) f.write("X"*500)
添加回答
举报
0/150
提交
取消