Python中read()、readline()和readlines()三者間的區別和用法

Python探索牛發表於2024-03-13

在python中讀取檔案常用的三種方法:read(),readline(),readlines()

準備

假設a.txt的內容如下所示:

Hello
Welcome
What is the fuck...

一、read([size])方法

read([size])方法從檔案當前位置起讀取size個位元組,若無引數size,則表示讀取至檔案結束為止,它範圍為字串物件

f = open("a.txt")
lines = f.read()
print lines
print(type(lines))
f.close()

輸出結果:

Hello
Welcome
What is the fuck...
<type 'str'> #字串型別

二、readline()方法

從字面意思可以看出,該方法每次讀出一行內容,所以,讀取時佔用記憶體小,比較適合大檔案,該方法返回一個字串物件。

f = open("a.txt")
line = f.readline()
print(type(line))
while line:
 print line,
 line = f.readline()
f.close()

輸出結果:

<type 'str'>
Hello
Welcome
What is the fuck...

三、readlines()方法

readlines()方法讀取整個檔案所有行,儲存在一個列表(list)變數中,每行作為一個元素,但讀取大檔案會比較佔記憶體。

f = open("a.txt")
lines = f.readlines()
print(type(lines))
for line in lines:
 print line,
f.close()
#Python學習交流群:711312441

輸出結果:

<type 'list'>
Hello
Welcome
What is the fuck...

四、linecache模組

當然,有特殊需求還可以用linecache模組,比如你要輸出某個檔案的第n行:

# 輸出第2行
text = linecache.getline(‘a.txt',2)
print text, 

對於大檔案效率還可以。

相關文章