溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python中readline的“坑”

發(fā)布時(shí)間:2020-07-08 18:17:54 來(lái)源:網(wǎng)絡(luò) 閱讀:396 作者:goldfishe 欄目:編程語(yǔ)言

? ? ? 今天用python處理文件數(shù)據(jù),用readline()方法來(lái)按行讀取,可是在接下來(lái)的邏輯里,卻怎么也取不到值,折騰了半天,原來(lái)是readline()讀出的數(shù)據(jù)會(huì)自帶換行符。這下就簡(jiǎn)單了用strip()函數(shù)去掉換行符即可。偽代碼如下:

with?open(fpath,?'r')?as?f:
????line?=?f.readline()
??line?=?line.strip('\n')
???#?do?something

?如上處理,就不會(huì)出現(xiàn)莫名其妙的問(wèn)題。


注意:調(diào)用read()會(huì)一次性讀取文件的全部?jī)?nèi)容,如果文件有10G,內(nèi)存就爆了,所以,要保險(xiǎn)起見(jiàn),可以反復(fù)調(diào)用read(size)方法,每次最多讀取size個(gè)字節(jié)的內(nèi)容。另外,調(diào)用readline()可以每次讀取一行內(nèi)容,調(diào)用readlines()一次讀取所有內(nèi)容并按行返回list。因此,要根據(jù)需要決定怎么調(diào)用。


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI