使用read()函數(shù)讀取文件時,如果文件過大,則一次讀取全部內(nèi)容到內(nèi)存,容易造成內(nèi)存不足,而相比每次限制讀取字符(或字節(jié))的個數(shù),更推薦大家使用逐行讀取文件的方式。
一般情況下,逐行讀取只適用于以文本格式打開的文件,道理很簡單,只有文本文件才有行的概念,二進制文件沒有所謂行的概念。
文件對象提供了readline()和readlines()兩個函數(shù)來逐行讀取文件,其中readline()函數(shù)用于讀取一行內(nèi)容,而readlines()函數(shù)用于讀取文件內(nèi)的所有行。
readline()函數(shù)
readline()函數(shù)用于讀取文件中的一行,包含最后的換行符“\n”。此函數(shù)的基本語法格式為:
file.readline([size])
其中,file為打開的文件對象;size為可選參數(shù),用于指定讀取每一行時,一次最多讀取的字符數(shù)。
和read()函數(shù)一樣,此函數(shù)成功讀取文件數(shù)據(jù)的前提是,使用open()函數(shù)指定打開文件的模式必須為r(只讀模式)或r+
(讀寫模式)。
下面程序示范了使用readline()方法來讀取文件內(nèi)容:
#a.txt中有兩行內(nèi)容,分別是:
#千鋒
#https://www.duoceshi.com
f=open("a.txt",'r',True)
whileTrue:
#每次讀取一行
line=f.readline()
#如果沒有讀到數(shù)據(jù),跳出循環(huán)
ifnotline:break
#輸出line
print(line)
f.close()
輸出結(jié)果是
千鋒
https://www.duoceshi.com
以上內(nèi)容為大家介紹了python如何讀取文件的數(shù)據(jù),希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。