詳解Python文件修改的兩種方式
文件的數(shù)據(jù)是存放于硬盤上的,因而只存在覆蓋、不存在修改這么一說,我們平時看到的修改文件,都是模擬出來的效果,具體的說有兩種實現(xiàn)方式。
一、方式一
將硬盤存放的該文件的內(nèi)容全部加載到內(nèi)存,在內(nèi)存中是可以修改的,修改完畢后,再由內(nèi)存覆蓋到硬盤(word,vim,nodpad++等編輯器)。
import os with open('37r.txt') as fr, \ open('37r_swap.txt', 'w') as fw: data = fr.read() # 全部讀入內(nèi)存,如果文件很大,會很卡 data = data.replace('tank', 'tankSB') # 在內(nèi)存中完成修改 fw.write(data) # 新文件一次性寫入原文件內(nèi)容 # 刪除原文件 os.remove('37r.txt') # 重命名新文件名為原文件名 os.rename('37r_swap.txt', '37r.txt') print('done...') done...
二、方式二
將硬盤存放的該文件的內(nèi)容一行一行地讀入內(nèi)存,修改完畢就寫入新文件,最后用新文件覆蓋源文件。
import os with open('37r.txt') as fr,\ open('37r_swap.txt', 'w') as fw: # 循環(huán)讀取文件內(nèi)容,逐行修改 for line in fr: line = line.replace('jason', 'jasonSB') # 新文件寫入原文件修改后內(nèi)容 fw.write(line) os.remove('37r.txt') os.rename('37r_swap.txt', '37r.txt') print('done...') done...
總而言之,修改文件內(nèi)容的思路為:以讀的方式打開原文件,以寫的方式打開一個新的文件,把原文件的內(nèi)容進行修改,然后寫入新文件,之后利用os模塊的方法,把原文件刪除,重命名新文件為原文件名,達到以假亂真的目的。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
在pycharm中debug 實時查看數(shù)據(jù)操作(交互式)
這篇文章主要介紹了在pycharm中debug 實時查看數(shù)據(jù)操作(交互式),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06利用Python2下載單張圖片與爬取網(wǎng)頁圖片實例代碼
這篇文章主要給大家介紹了關于利用Python2下載單張圖片與爬取網(wǎng)頁圖片的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2017-12-12Python Numpy:找到list中的np.nan值方法
今天小編就為大家分享一篇Python Numpy:找到list中的np.nan值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10Python 調(diào)用 C++ 傳遞numpy 數(shù)據(jù)詳情
這篇文章主要介紹了Python 調(diào)用 C++ 傳遞numpy 數(shù)據(jù)詳情,文章主要分為兩部分,c++代碼和python代碼,代碼分享詳細,需要的小伙伴可以參考一下,希望對你有所幫助2022-03-03使用python監(jiān)測網(wǎng)絡連接和網(wǎng)速的實現(xiàn)代碼
在我們?nèi)粘I钪芯W(wǎng)絡連接和網(wǎng)速在工作中非常重要,本文將介紹如何使用Python程序來監(jiān)測互聯(lián)網(wǎng)連接的速度和中斷情況,并通過代碼示例講解的非常詳細,需要的朋友可以參考下2024-03-03