文件修改的两种方式
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)