Python编程整理:修改文件的两种方法
方法一:
with open('test.txt', 'rt', encoding='utf-8') as f1:
result = f1.read()
# 对result的修改操作
with open('test.txt', 'wt', encoding='utf-8') as f2:
f2.write(result)
将源文件全部导入内存,改完再将文件覆盖为更改后的内容
优点:不需要额外占用硬盘空间
缺点:当文件过大时,会过多占用内存空间
方法二:
思路:(1)以读模式打开源文件,然后用写模式打开一个临时文件
(2)从源文件中读出一行内容,修改完毕后写入临时文件
(3)循环往复,直到源文件读取完毕,删除源文件,将临时文件重命名为源文件名
import os
with open('test.txt', 'rt', encoding='utf-8') as f1,\
open('.test.txt.swp', 'wt', encoding='utf-8') as f2:
for line in f1:
# 对每一行的操作
# f2.write(...) 写入更改后的每一行
pass
os.remove('test.txt')
os.rename('.test.txt.swp', 'test.txt')
优点:节省内存
缺点:需要额外占用硬盘空间