第2模块第1章10文件修改功能
2019-03-09 本文已影响11人
飞鸟在笼
f = open("兼职.txt","r+",encoding="utf-8")
f.seek(6)
f.write("[路飞学城]”)
f.close()
[路飞学城]把原来的东西覆盖了,这是有硬盘的存储原理决定的。
当我们在打开WORD时,需要等待word把硬盘里的信息都取到内存里,改完之后再写进硬盘。
如果文件太大,直接读进内存,可能会把内存撑满。
我们可以在硬盘和内存之间取舍。
import os
f_name = "兼职.txt"
f_new_name="%s.new"%f_name
old_str = "乔亦菲“
new_str = "肛娘“
f= open(f_name,"r",encoding="utf-8")
f_new =open(f_new_name,"w",encoding="utf-8")
for line in f:
if old_str in line:
line=line.replace(old_str,new_str)
f_new.write(line)
f.close()
f_new.close()
此时更改的内容在新文件里。
因此,可以再写回旧文件,也可以重命名。
os.rename(f_new_name,f_name)
PS:如果报错,请在前边添加这段语句
os.remove(filename)