1. 程式人生 > >python中讀取檔案函式read()、readline()、readlines()的區別

python中讀取檔案函式read()、readline()、readlines()的區別

python中讀取檔案函式–>read()、readline()、readlines()的區別

關於以上三種函式的區別,下面使用程式碼將執行結果進行進行比較: 先建立一個00.txt的文字檔案,檔案內容如下: 111111111 222222222 333333333 444444444

read()

# 使用 read() 函式讀取文字內容時:

f = open('00.txt', 'rb')
content1 = f.read()
print(content1.decode('utf-8'))  # 列印內容為文字所有內容
print('*'*20)

列印結果為: 111111111 222222222 333333333 444444444

read()是將文字內容全部讀取出來的,在記憶體並非足夠大,但是文字內容很多時,不建議使用read(),可能導致記憶體不夠

readline()

f1 = open('00.txt', 'rb')
content2 = f1.readline()
print(content2.decode('utf-8'))  # 列印內容為文字第一行內容
print('*'*20)

列印結果: 111111111

列印僅為第一行的文字內容,readline()是每次只讀取一行

readlines()

f2 = open('00.txt', 'rb')
content3 = f2.readlines()
for i in content3:
    print(i.decode('utf-8'))  

列印結果:

111111111

222222222

333333333

444444444 .readlines() 一次讀取整個檔案,像 .read() 一樣,並以列list的形式返回。

總結

read():一次性讀取文字的全部內容,並以字串的形式儲存返回 readline(): 一次性只讀取文字內容的一行,並以字串的形式儲存返回 readlines(): 一次性讀取文字的所有內容,並以字典的形式儲存返回

①:在沒有足夠記憶體的情況下,可以考慮使用readline(),每次只讀取一行,不會太消耗記憶體; ②:readline()和readlines()相比,前者由於是一行一行讀取返回的,所以相較於後者,會慢很多。