Python中read()、readline()和readlines()三者間的區別和用法
前言
眾所周知在python中讀取檔案常用的三種方法:read(),readline(),readlines(),今天看專案是又忘記他們的區別了。以前看書的時候覺得這東西很簡單,一眼掃過,待到用時卻也只知道有這麼幾個方法,不懂得它的原理與用法。也許吧,沒有永遠的記憶,況且根本沒有用心去記它。話不多說,來一起看看詳細的介紹:
準備
假設a.txt的內容如下所示:
1 2 3 |
|
一、read([size])方法
read([size])
方法從檔案當前位置起讀取size個位元組,若無引數size,則表示讀取至檔案結束為止,它範圍為字串物件
1 2 3 4 5 |
|
輸出結果:
1 2 3 4 |
|
二、readline()方法
從字面意思可以看出,該方法每次讀出一行內容,所以,讀取時佔用記憶體小,比較適合大檔案,該方法返回一個字串物件
1 2 3 4 5 6 7 |
|
輸出結果:
1 2 3 4 |
|
三、readlines()方法讀取整個檔案所有行,儲存在一個列表(list)變數中,每行作為一個元素,但讀取大檔案會比較佔記憶體。
1 2 3 4 5 6 |
|
輸出結果:
1 2 3 4 |
|
四、linecache模組
當然,有特殊需求還可以用linecache模組,比如你要輸出某個檔案的第n行:
1 2 3 |
|
對於大檔案效率還可以。
下面是其他網友的補充
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
總結