python的文字處理是經常碰到的乙個問題,python的文字檔案的內容讀取中,有三類方法:read()、readline()、readlines(),這三種方法各有利弊,下面逐一介紹其使用方法和利弊。
read()
read()是最簡單的一種方法,一次性讀取檔案的所有內容放在乙個大字串中,即存在記憶體中file_object = open('test.txt') //不要把open放在try中,以防止開啟失敗,那麼就不用關閉了
try:
file_context = file_object.read() //file_context是乙個string,讀取完後,就失去了對test.txt的檔案引用
# file_context = open(file).read().splitlines()
// file_context是乙個list,每行文字內容是list中的乙個元素
finally:
file_object.close()
//除了以上方法,也可用with、contextlib都可以開啟檔案,且自動關閉檔案,
//以防止開啟的檔案物件未關閉而占用記憶體read()的利端:方便、簡單一次性獨讀出檔案放在乙個大字串中,速度最快read()的
弊端:檔案過大的時候,占用記憶體會過大
readline():
readline()逐行讀取文字,結果是乙個listwith open(file) as f:
line = f.readline()
while line:
print line
line = f.readline()readline()的利端:占用記憶體小,逐行讀取readline()的弊端:由於是逐行讀取,速度比較慢
readlines():
readlines()一次性讀取文字的所有內容,結果是乙個listwith open(file) as f:
for line in f.readlines():
print line這種方法讀取的文字內容,每行文字末尾都會帶乙個' '換行符 (可以使用l.rstrip(' ')去掉換行符)readlines()的利端:一次性讀取文字內容,速度比較快readlines()的弊端:隨著文字的增大,占用記憶體會越來越多。
最簡單、最快速的逐行處理文字的方法:直接for迴圈檔案物件file_object = open('test.txt','ru')try:
for line in file_object:
do_somthing_with(line)//line帶" "finally:
file_object.close()
更多學習內容,python學習網。
python讀資料 Python如何讀寫位元組資料
問題 你想讀寫二進位制檔案,比如,聲音檔案等等。解決方案 使用模式為 rb 或 wb 的 open 函式來讀取或寫入二進位制資料。比如 read the entire file as a single byte string withopen somefile.bin rb as f data f....
讀資料保持
always posedge clk or negedge rst b if rst b ram ren d1 1 b0 else ram ren d1 ram ren always posedge clk or negedge rst b if rst b ram dout d1 else ram...
記憶體讀資料和磁碟讀資料的區別
當程式要讀取的資料時傳入記憶體位址 行位址 列位址 如果資料不在主存中時,會觸發乙個缺頁異常,此時系統會向磁碟發出讀盤訊號,通過柱面號,磁頭號,扇區號定位磁碟位置,找到資料的起始位置並向後連續讀取一頁或幾頁載入記憶體中。於儲存介質的特性,磁碟本身訪問就比主存慢很多,再加上機械運動耗費,磁碟的訪問速度...