python中 read() 、readline() 與 readlines()的用法

分別用這三個(gè)函數(shù)讀取 myfile.txt 。 myfile.txt 中的內(nèi)容是拜倫的《她以絕美之姿行來(lái)》(節(jié)選):

她以絕美之姿行來(lái),猶如夜晚

晴空無(wú)云,繁星燦爛;

那最絕妙的光明與黑暗,

均匯聚于她的豐姿與眼底,

交織成如許溫柔光輝,

是濃艷的白晝所無(wú)緣得見(jiàn)。



read()

with open('myfile.txt','r') as f:

? ? poem = f.read()

? ? ?print(poem,'\n',type(poem))

打印結(jié)果:

她以絕美之姿行來(lái),猶如夜晚 晴空無(wú)云,繁星燦爛; 那最絕妙的光明與黑暗, 均匯聚于她的豐姿與眼底, 交織成如許溫柔光輝, 是濃艷的白晝所無(wú)緣得見(jiàn)。

<class 'str'>

read() 函數(shù)不指定參數(shù)的話,會(huì)將文件一次性讀完,并返回一個(gè) str ?;

如果指定參數(shù)如 read(5) 則只會(huì)讀取前 5 個(gè)字符,并返回一個(gè) str,在讀取大文件時(shí)一般都要指定參數(shù)進(jìn)行分次讀取。

readline()

with open('myfile.txt','r') as f:

? ? ?poem = f.readline()

? ? ?print(poem,'\n',type(poem))

打印結(jié)果:

她以絕美之姿行來(lái),猶如夜晚

<class 'str'>

用法:readline()不指定參數(shù)的話一次讀取一行(即遇到換行符就停止讀取),返回一個(gè) str 。

指定參數(shù)如 readline(5) 的話就讀取前5個(gè)字符。但與 read(5) 不同的是,如果前 5 個(gè)字符中有換行符,它只會(huì)讀取換行符前的字符(也就是只讀取一行)。

readlines()

with open('myfile.txt','r') as f:

? ? ?poem = f.readlines()

? ? ?print(poem,'\n',type(poem))

打印結(jié)果:

['她以絕美之姿行來(lái),猶如夜晚 \n', '晴空無(wú)云,繁星燦爛; \n', '那最絕妙的光明與黑暗, \n', '均匯聚于她的豐姿與眼底, \n', '交織成如許溫柔光輝, \n', '是濃艷的白晝所無(wú)緣得見(jiàn)。']

<class 'list'>

用法:readlines()不指定參數(shù)的話會(huì)一次地將文件讀完,并返回一個(gè)列表。列表的第一個(gè)元素是文件的第一行,第二個(gè)元素是第二行……

?readlines()若指定參數(shù)如 readlines(5) ,并不是讀取 5 行.....如下所示

readlines(5)

打印結(jié)果:

['她以絕美之姿行來(lái),猶如夜晚 \n']

這里的 5 是字符數(shù)量。當(dāng)讀取的字符數(shù)量大于 5 時(shí)就停止讀取,否則繼續(xù)讀取下一行。這里第一行的字符數(shù)量超過(guò)了 5 個(gè),就停止讀取了。


總結(jié):

在讀取大文件時(shí),使用 read(size) 逐次讀取 。

在讀取存儲(chǔ) url 的文件時(shí),使用 readlines() 剛好可以生成一個(gè)列表,方便處理。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • python中讀取文件常用的三種方法:read(),readline(),readlines().今天看項(xiàng)目是又忘...
    大阿拉伯人閱讀 42,712評(píng)論 3 16
  • 基于字符讀寫(xiě) 最基本的文件操作當(dāng)然就是在文件中讀寫(xiě)數(shù)據(jù)。這也是很容易掌握的。現(xiàn)在打開(kāi)一個(gè)文件以進(jìn)行寫(xiě)操作: 1. ...
    IT小白1002閱讀 1,121評(píng)論 0 1
  • 文件打開(kāi)方法: open(name,mode,buf) name:文件路徑 mode:打開(kāi)方式 文件讀取方式: r...
    江魁閱讀 661評(píng)論 0 0
  • Since Jan.26th,2016 1、ubuntu 下運(yùn)行 python 的幾種方式 在 terminal...
    Rco閱讀 2,713評(píng)論 0 2
  • 我多么想清晰地知道活著的目的,那樣我就會(huì)知道做每一件事的目的,并盡全力好好的去做! 不同時(shí)期我們因社會(huì)和家庭產(chǎn)生不...
    賦綠閱讀 245評(píng)論 0 0

友情鏈接更多精彩內(nèi)容