正常情况我们想要仅对文件某一行的内容进行修改,而不改变其他内容,在原文件的基础上不能修改,因为当我们对原文件进行写操作时,如果原文件里面有内容,就会清空,在这种情况下,只能对文件进行替换性修改:即重新创建一个文件,把原文件的内容按行复制到新文件里,当复制到要修改的那一行时,就用我们需要的内容来替换原有的内容
eg:我们要修改原文件的第五行内容为“hello,小双双”,实现源码如下:
# 替换性修改文件内容
f_read = open('小双双', 'r', encoding='utf8') # 读 原文件
f_write = open('小双双1', 'w', encoding='utf8') # 写 新文件
number = 0
for line in f_read: # 循环读取原文件的内容并写入新建的文件里
number += 1
if number == 5:
line = 'hello,小双双\n' # 加一个换行符
f_write.write(line)
f_read.close()
f_write.close()
原文件内容:
昨夜寒蝉不住鸣。
惊回千里梦,已三更。
起来独自绕阶行。
人悄悄,帘外月胧明。
欲将心事付瑶琴。
知音少,弦断有谁听。
修改后的内容:
昨夜寒蝉不住鸣。
惊回千里梦,已三更。
起来独自绕阶行。
人悄悄,帘外月胧明。
hello,小双双
知音少,弦断有谁听。