Python readline()和readlines()函數(shù)實(shí)現(xiàn)按行讀取文件
如果想讀取用 open() 函數(shù)打開(kāi)的文件中的內(nèi)容,除了可以使用 read() 函數(shù),還可以使用 readline() 和 readlines() 函數(shù)。
和 read() 函數(shù)不同,這 2 個(gè)函數(shù)都以“行”作為讀取單位,即每次都讀取目標(biāo)文件中的一行。對(duì)于讀取以文本格式打開(kāi)的文件,讀取一行很好理解;對(duì)于讀取以二進(jìn)制格式打開(kāi)的文件,它們會(huì)以“\n”作為讀取一行的標(biāo)志。
Python readline()函數(shù)
readline() 函數(shù)用于讀取文件中的一行,包含最后的換行符“\n”。此函數(shù)的基本語(yǔ)法格式為:
file.readline([size])
其中,file 為打開(kāi)的文件對(duì)象;size 為可選參數(shù),用于指定讀取每一行時(shí),一次最多讀取的字符(字節(jié))數(shù)。
和 read() 函數(shù)一樣,此函數(shù)成功讀取文件數(shù)據(jù)的前提是,使用 open() 函數(shù)指定打開(kāi)文件的模式必須為可讀模式(包括 r、rb、r+、rb+ 4 種)。
仍以前面章節(jié)中創(chuàng)建的 my_file.txt 文件為例,該文件中有如下 2 行數(shù)據(jù):
Python教程
http://csdn.net/python/
下面程序演示了 readline() 函數(shù)的具體用法:
f =open("my_file.txt") 讀取一行數(shù)據(jù) byt = f.readline() print(byt)
程序執(zhí)行結(jié)果為:
Python教程
由于 readline() 函數(shù)在讀取文件中一行的內(nèi)容時(shí),會(huì)讀取最后的換行符“\n”,再加上 print() 函數(shù)輸出內(nèi)容時(shí)默認(rèn)會(huì)換行,所以輸出結(jié)果中會(huì)看到多出了一個(gè)空行。
不僅如此,在逐行讀取時(shí),還可以限制最多可以讀取的字符(字節(jié))數(shù),例如:
#以二進(jìn)制形式打開(kāi)指定文件 f =open("my_file.txt",'rb') byt = f.readline(6) print(byt)
運(yùn)行結(jié)果為:
b'Python'
和上一個(gè)例子的輸出結(jié)果相比,由于這里沒(méi)有完整讀取一行的數(shù)據(jù),因此不會(huì)讀取到換行符。
Python readlines()函數(shù)
readlines() 函數(shù)用于讀取文件中的所有行,它和調(diào)用不指定 size 參數(shù)的 read() 函數(shù)類(lèi)似,只不過(guò)該函數(shù)返回是一個(gè)字符串列表,其中每個(gè)元素為文件中的一行內(nèi)容。
和 readline() 函數(shù)一樣,readlines() 函數(shù)在讀取每一行時(shí),會(huì)連同行尾的換行符一塊讀取。
readlines() 函數(shù)的基本語(yǔ)法格式如下:
file.readlines()
其中,file 為打開(kāi)的文件對(duì)象。和 read()、readline() 函數(shù)一樣,它要求打開(kāi)文件的模式必須為可讀模式(包括 r、rb、r+、rb+ 4 種)。
舉個(gè)例子:
f =open("my_file.txt",'rb') byt = f.readlines() print(byt)
運(yùn)行結(jié)果為:
[b'Python\xbd\xcc\xb3\xcc\r\n', b'http://csdn.net/python/']
到此這篇關(guān)于Python readline()和readlines()函數(shù)實(shí)現(xiàn)按行讀取文件的文章就介紹到這了,更多相關(guān)Python按行讀取文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)五子棋聯(lián)機(jī)對(duì)戰(zhàn)小游戲
本文主要介紹了通過(guò)Python實(shí)現(xiàn)簡(jiǎn)單的支持聯(lián)機(jī)對(duì)戰(zhàn)的游戲——支持局域網(wǎng)聯(lián)機(jī)對(duì)戰(zhàn)的五子棋小游戲。廢話(huà)不多說(shuō),快來(lái)跟隨小編一起學(xué)習(xí)吧2021-12-12利用Python實(shí)現(xiàn)生成并識(shí)別圖片驗(yàn)證碼
這篇文章主要為大家的詳細(xì)介紹了如何利用Python實(shí)現(xiàn)生成并識(shí)別圖片驗(yàn)證碼,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02解決python遞歸函數(shù)及遞歸次數(shù)受到限制的問(wèn)題
這篇文章主要介紹了解決python遞歸函數(shù)及遞歸次數(shù)受到限制的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06使用Django搭建網(wǎng)站實(shí)現(xiàn)商品分頁(yè)功能
這篇文章主要介紹了使用Django搭建網(wǎng)站實(shí)現(xiàn)商品分頁(yè)功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Python實(shí)現(xiàn)圖像和辦公文檔處理的方法和技巧
本文介紹了Python實(shí)現(xiàn)圖像和辦公文檔處理的方法和技巧,包括使用Pillow庫(kù)處理圖像、使用OpenCV庫(kù)進(jìn)行圖像識(shí)別和處理、使用PyPDF2庫(kù)處理PDF文檔、使用docx和xlwt庫(kù)處理Word和Excel文檔等,幫助讀者更好地掌握Python在圖像和辦公文檔處理方面的應(yīng)用2023-05-05Pandas?DataFrame.drop()刪除數(shù)據(jù)的方法實(shí)例
pandas作為數(shù)據(jù)分析強(qiáng)大的庫(kù),是基于numpy數(shù)組構(gòu)建的,專(zhuān)門(mén)用來(lái)處理表格和混雜的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Pandas?DataFrame.drop()刪除數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2022-07-07