python中有神奇的三種讀操作:read、readline和readlines
- read() : 一次性讀取整個(gè)文件內(nèi)容。推薦使用read(size)方法,size越大運(yùn)行時(shí)間越長(zhǎng)
- readline() :每次讀取一行內(nèi)容。內(nèi)存不夠時(shí)使用,一般不太用
- readlines() :一次性讀取整個(gè)文件內(nèi)容,并按行返回到list,方便我們遍歷
一般小文件我們都采用read(),不確定大小你就定個(gè)size,大文件就用readlines()
1)我們先用read來(lái)完整讀取一個(gè)小文件,代碼如下:
f = open('test.py', 'r')
print(f.read())
f.close() # 用完記得關(guān)閉
看看運(yùn)行的結(jié)果:

我們看到這是一個(gè)打印Helllo World!的簡(jiǎn)單程序
同時(shí)也感受到打印小文件這種小任務(wù)確實(shí)交給read比較快
2)接著再來(lái)看readline,代碼:
f = open('test.py', 'r')
print(f.readline())
f.close()
運(yùn)行結(jié)果:

果然顧名思義,它只吝嗇地給我打印了一行
我原文件test.py有五行文字,那么我打完一個(gè)test.py需要print五次,稍顯麻煩,不過(guò)你也可以如下使用while循環(huán):
f = open('test.py', 'r')
line = f.readline()
while line:
print(line, end="")
line = f.readline()
f.close()
3)最后再來(lái)看readlines,代碼:
f = open('test.py', 'r')
print(f.readlines())
f.close()
運(yùn)行結(jié)果:

它果然將我們的內(nèi)容都放進(jìn)一個(gè)list列表中,連空格和\n都保留了下來(lái)
接著我們寫(xiě)個(gè)循環(huán)去遍歷它:
f = open('test.py', 'r')
for line in f.readlines():
print(line, end="")
f.close()
因?yàn)閜rint還會(huì)自動(dòng)換行,我們利用end=""來(lái)取消
運(yùn)行如圖:

這樣我們就得到了和用read差不多的內(nèi)容了
但是readlines在讀配置文件還是有一定優(yōu)勢(shì)的
到此這篇關(guān)于Python中read,readline和readlines的區(qū)別案例詳解的文章就介紹到這了,更多相關(guān)Python中read,readline和readlines的區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 關(guān)于python中readlines函數(shù)的參數(shù)hint的相關(guān)知識(shí)總結(jié)
- Python 整行讀取文本方法并去掉readlines換行\(zhòng)n操作
- python: line=f.readlines()消除line中\(zhòng)n的方法
- Python File readlines() 使用方法
- 詳談python read readline readlines的區(qū)別
- Python中read()、readline()和readlines()三者間的區(qū)別和用法