文件内容修改-Day3
一、文件修改
1、文件修改原理
文件默认存在硬盘中,硬盘中的数据只能覆盖,不能插入,所以一般vim或者word修改一个文件,都是重新创建一个文件,并覆盖原文件。
2、文件修改方式
方式一:先把文件内容一次性读入内存,在内存中修改完毕后,再覆盖回硬盘
- 优点:在文件修改期间始终保存一份数据
- 缺点:在文件内容过大的情况下,会占用过多内存
with open('src.txt','r',encoding='utf-8') as f:
data=f.read()
data=data.replace('武大郎','武藤兰')
with open('src.txt','w',encoding='utf-8') as f:
f.write(data)
方法二:先把文件内容一行一行的读入内存,修改完毕后存入一个新文件,整体修改完毕后,再删除原文件,将新文件改名为原文件名
- 优点:同一时间在内存中只有一行内容,不会过多的占用内存
- 缺点:文件修改期间,始终保存两份数据
import os
with open('src.txt','r',encoding='utf-8') as f,\
open('src.txt.swap','w',encoding='utf-8') as f_new:
for line in f:
if '武佩奇' in line:
line=line.replace('武佩奇','苍井空')
f_new.write(line)
os.remove('src.txt')
os.rename('src.txt.swap','src.txt')

浙公网安备 33010602011771号