Python readline()和readlines()函數實現按行讀取文件
如果想讀取用 open() 函數打開的文件中的內容,除瞭可以使用 read() 函數,還可以使用 readline() 和 readlines() 函數。
和 read() 函數不同,這 2 個函數都以“行”作為讀取單位,即每次都讀取目標文件中的一行。對於讀取以文本格式打開的文件,讀取一行很好理解;對於讀取以二進制格式打開的文件,它們會以“\n”作為讀取一行的標志。
Python readline()函數
readline() 函數用於讀取文件中的一行,包含最後的換行符“\n”。此函數的基本語法格式為:
file.readline([size])
其中,file 為打開的文件對象;size 為可選參數,用於指定讀取每一行時,一次最多讀取的字符(字節)數。
和 read() 函數一樣,此函數成功讀取文件數據的前提是,使用 open() 函數指定打開文件的模式必須為可讀模式(包括 r、rb、r+、rb+ 4 種)。
仍以前面章節中創建的 my_file.txt 文件為例,該文件中有如下 2 行數據:
Python教程
http://csdn.net/python/
下面程序演示瞭 readline() 函數的具體用法:
f =open("my_file.txt") 讀取一行數據 byt = f.readline() print(byt)
程序執行結果為:
Python教程
由於 readline() 函數在讀取文件中一行的內容時,會讀取最後的換行符“\n”,再加上 print() 函數輸出內容時默認會換行,所以輸出結果中會看到多出瞭一個空行。
不僅如此,在逐行讀取時,還可以限制最多可以讀取的字符(字節)數,例如:
#以二進制形式打開指定文件 f =open("my_file.txt",'rb') byt = f.readline(6) print(byt)
運行結果為:
b'Python'
和上一個例子的輸出結果相比,由於這裡沒有完整讀取一行的數據,因此不會讀取到換行符。
Python readlines()函數
readlines() 函數用於讀取文件中的所有行,它和調用不指定 size 參數的 read() 函數類似,隻不過該函數返回是一個字符串列表,其中每個元素為文件中的一行內容。
和 readline() 函數一樣,readlines() 函數在讀取每一行時,會連同行尾的換行符一塊讀取。
readlines() 函數的基本語法格式如下:
file.readlines()
其中,file 為打開的文件對象。和 read()、readline() 函數一樣,它要求打開文件的模式必須為可讀模式(包括 r、rb、r+、rb+ 4 種)。
舉個例子:
f =open("my_file.txt",'rb') byt = f.readlines() print(byt)
運行結果為:
[b'Python\xbd\xcc\xb3\xcc\r\n', b'http://csdn.net/python/']
到此這篇關於Python readline()和readlines()函數實現按行讀取文件的文章就介紹到這瞭,更多相關Python按行讀取文件內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python面試題之read、readline和readlines的區別詳解
- Python如何實現逐行讀取文本文件
- Python中read,readline和readlines的區別案例詳解
- Python 循環讀取數據內存不足的解決方案
- python基礎之文件處理知識總結