文件的數據是存放于硬盤上的,因而只存在覆蓋、不存在修改這么一說,我們平時看到的修改文件,都是模擬出來的效果,具體的說有兩種實現方式。
一、方式一
將硬盤存放的該文件的內容全部加載到內存,在內存中是可以修改的,修改完畢后,再由內存覆蓋到硬盤(word,vim,nodpad++等編輯器)。
import os with open('37r.txt') as fr, \ open('37r_swap.txt', 'w') as fw: data = fr.read() # 全部讀入內存,如果文件很大,會很卡 data = data.replace('tank', 'tankSB') # 在內存中完成修改 fw.write(data) # 新文件一次性寫入原文件內容 # 刪除原文件 os.remove('37r.txt') # 重命名新文件名為原文件名 os.rename('37r_swap.txt', '37r.txt') print('done...') done...
二、方式二
將硬盤存放的該文件的內容一行一行地讀入內存,修改完畢就寫入新文件,最后用新文件覆蓋源文件。
import os with open('37r.txt') as fr,\ open('37r_swap.txt', 'w') as fw: # 循環讀取文件內容,逐行修改 for line in fr: line = line.replace('jason', 'jasonSB') # 新文件寫入原文件修改后內容 fw.write(line) os.remove('37r.txt') os.rename('37r_swap.txt', '37r.txt') print('done...') done...
總而言之,修改文件內容的思路為:以讀的方式打開原文件,以寫的方式打開一個新的文件,把原文件的內容進行修改,然后寫入新文件,之后利用os模塊的方法,把原文件刪除,重命名新文件為原文件名,達到以假亂真的目的。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
