文件修改的兩種方式

whw.txt文件中有一下內容:python

張三  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)
相關文章
相關標籤/搜索