老男孩Python全栈

第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)

上一篇下一篇

猜你喜欢

热点阅读