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

优点:节省内存

缺点:需要额外占用硬盘空间