文件修改的两种方式

whw.txt文件中有一下内容:

张三  13333333333
小李 15555555555
王二麻 12222222222

编写程序实现文件内容的修改:

方法一:占硬盘的修改方式(需要新建一个文件)
import os
f_name = 'whw.txt'
f_new_name = '%s.new' % f_name
old_str = '张三'
new_str = '张啊啊'
f = open(f_name,'r',encoding='utf-8')   #注意编码方式
f1 = open(f_new_name,'w',encoding='utf-8')
for line in f:#遍历旧文件
    if old_str in line:#如果旧文件里有需要替换的内容
        line = line.replace(old_str,new_str) #没用到os模块,将就内容替换为新内容
    f1.write(line)#将“新内容写进新的文件中去”
f.close()
f1.close()
os.replace(f_new_name,f_name)#用到了os模块,将旧文件替换为新文件

方法二:占内存的修改方式:

import os
f_name = 'whw.txt'
f_new_name = '%s.new' % f_name
old_str = '王二麻'
new_str = '王二'
f = open(f_name,'r',encoding='utf-8')
f1 = open(f_new_name,'w',encoding='utf-8')
#与占硬盘的方法不同的是,占内存的方法是将文件内容一次性的读出来,然后进行判断和替换
data = f.read()
if old_str in data:
    data = data.replace(old_str,new_str)
f1.write(data)
f.close()
f1.close()
os.replace(f_new_name,f_name)

  

 
posted on 2018-03-30 12:36  江湖乄夜雨  阅读(578)  评论(0编辑  收藏  举报