python之檔案修改

2021-10-08 08:02:19 字數 1137 閱讀 6857

with open('a.txt',mode='r+t',encoding='utf-8') as f:

print(f.writable())

f.seek(7,0)

f.write('sb')

with open('a.txt',mode='r+t',encoding='utf-8') as f:

f.seek(3,0)

f.write('h')

# 由上例得出結論:硬碟都是用新內容覆蓋舊內容,沒有修改的概念,但是記憶體是可以修改的

# 思路:把硬碟的內容先讀入記憶體,然後在記憶體中修改完畢後,再覆蓋會硬碟

# 方式一:

# 步驟:

# 1、先將硬碟中檔案的內容全部讀入記憶體,然後在記憶體中修改完畢得到乙個修改好的結果

# 2、將修改的結果覆蓋回原檔案

# 優點: 不耗費硬碟

# 缺點:耗費記憶體

with open('a.txt',mode='rt',encoding='utf-8') as f1:

data=f1.read()

res=data.replace('lxx','sb')

with open('a.txt',mode='wt',encoding='utf-8') as f2:

f2.write(res)

# 方式二:

# 步驟:

# 1、迴圈讀取原始檔內容,一行行修改一行行寫入乙個新的臨時檔案

# 2、刪除原始檔

# 3、將臨時檔案重新命名為源檔名

# 優點:節省記憶體

# 缺點:耗費硬碟空間

import os

with open('a.txt',mode='rt',encoding='utf-8') as f1,\

open('.a.txt.swp',mode='wt',encoding='utf-8') as f2:

for line in f1:

res=line.replace('sb','lxx')

f2.write(res)

os.remove('a.txt')

os.rename('.a.txt.swp','a.txt')

Python 修改檔案

一 有時候我們會遇到在寫入檔案後,其實內容並未被寫到檔案裡面的問題 原因是內容先寫到緩衝區,緩衝區滿時,才寫入磁碟 解決 用f.flush 強制把緩衝區裡面的資料寫到磁碟上 fw open username.txt w fw.write 測試 fw.flush 二 修改檔案簡單直接的方法 repla...

python檔案修改

檔案轉至 1 def alter file,old str,new str 2 3 替換檔案中的字串 4 param file 檔名 5 param old str 就字串 6 param new str 新字串 7 return 8 9 file data 10 with open file,r ...

Python之檔案操作例項 批量修改檔案的字首名

匯入包,很重要的 import os 建立資料夾及檔案 os.mkdir test for i in range 1,6 os.mkdir test test str i fp open test test str i txt w encoding utf 8 while true print 功能...