正常情况我们想要仅对文件某一行的内容进行修改,而不改变其他内容,在原文件的基础上不能修改,因为当我们对原文件进行写操作时,如果原文件里面有内容,就会清空,在这种情况下,只能对文件进行替换性修改:即重新创建一个文件,把原文件的内容按行复制到新文件里,当复制到要修改的那一行时,就用我们需要的内容来替换原有的内容

  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,小双双
知音少,弦断有谁听。