如何写入文件的特定部分?

我想按字节替换文件的特定部分,这是一个丑陋的图像来解释我想要实现的目标:-

https://img3.mukewang.com/650032910001d10505140198.jpg

我尝试用这段代码来做


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 中实现这一点吗?


慕田峪9158850
浏览 74回答 2
2回答

倚天杖

以适当的模式打开文件,查找所需的位置并写入要替换的字节数。要替换位置 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)

慕丝7291255

您应该使用 open('a.txt', 'r+')。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python