python中讀取檔案函式read()、readline()、readlines()的區別
阿新 • • 發佈:2018-12-14
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()相比,前者由於是一行一行讀取返回的,所以相較於後者,會慢很多。