一、修改小檔案
1、開啟乙個檔案,獲取到檔案所有內容
2、對內容進行修改:替換、寫sql、列表分割等
3、清空原來檔案的內容
4、把新內容寫入
f = open('username.txt','a+')
f.seek(0)
all_str = f.read() #讀取所有內容,佔記憶體較大
print(all_str)
new_str = all_str.replace('4567889','123456')
f.seek(0) #此時上方read已讀到檔案最後,清空操作要重新seek到檔案開頭
f.truncate() #清空檔案
f.write(new_str)
f.close()
#在每個使用者名稱前面加上syz_
f = open('username.txt','a+')
f.seek(0)
all_str = ''
for line in f:
lines = 'syz_' + line
all_str += lines
f.seek(0)
f.truncate()
f.write(all_str)
f.close()
for line in f.readlines():把檔案中的所有內容轉換成列表放到列表中,占用記憶體較大
for line in f: 是一行一行的讀取內容,占用記憶體較小
二、修改大檔案時
這種方法不用開闢一塊記憶體來存檔案中的所有資料,直接每一行寫入另外乙個檔案,寫完之後刪除重新命名。
import os
with open('words',encoding='utf-8') as fr,open('.words.bak','w',encoding='utf-8') as fw:
for line in fr:
new_line = line.replace('花','flower')
fw.write(new_line)
os.remove('words') #刪除檔案
os.rename('.words.bak','words') #改名
補充:f.write() #只能寫字串,對與列表中的元素,只能迴圈寫入
f.writelines() #自動迴圈寫入列表、字串
檔案修改的兩種方式
whw.txt檔案中有一下內容 張三 13333333333 小李 15555555555 王二麻 12222222222 編寫程式實現檔案內容的修改 方法一 佔硬碟的修改方式 需要新建乙個檔案 import osf name whw.txt f new name s.new f name old ...
Python 檔案修改的兩種常用方式
方式一 文字編輯採用的就是這種方式 實現思路 將檔案內容發一次性全部讀入記憶體,然後在記憶體中修改完畢後再覆蓋寫回原檔案 優點 在檔案修改過程中同乙份資料只有乙份 缺點 會過多地占用記憶體 with open c.txt mode rt encoding utf 8 as f res f.read ...
檔案處理,檔案的開啟模式,檔案修改的兩種方式
檔案處理 1.什麼是檔案 檔案是作業系統為應用程式或者使用者提供一種操作硬碟的虛擬單位 強調 檔案是作業系統提供的虛擬單位 應用程式或者使用者對檔案的讀寫操作其實都是向作業系統傳送指令 2.為何要用檔案 檔案對應的硬碟空間,如果需要考慮永久儲存資料那必須使用檔案 3.如何用檔案 路徑問題 絕對路徑 ...