我希望有人可以帮助我,我目前正在尝试将一些数据添加到文本文件中,但是我这样做的方式并不能给我我想要的东西。我有一个包含20多行文本的文件,并希望用30个新字符覆盖文件的前30个字符。我删除了所有内容的代码,只添加了30个字符。请帮助:)
file=open("text.txt", "w")
这有什么不妥,为什么它还要把所有的原始数据都拿去而不是简单地覆盖它?
答案 0 :(得分:1)
一种方法是将整个文件读入一个字符串,创建一个替换前30个字符的新字符串,然后重写整个文件。这可以这样做:
with open("text.txt", "r") as f:
data = f.read()
new_thirty_characters = '<put your data here>'
new_data = new_thirty_characters + data[30:]
with open("text.txt", "w") as f:
f.write(new_data)
理想情况下,您必须在阅读后检查该文件是否包含超过30个字符。另外,请勿使用文件和其他保留名称作为变量名称。