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

