一、readlines() 簡介
Python 的內置方法 readlines()
可以從文件中一次讀取多行內容,並返回一個列表,其中每個元素是文件中的一行文本。
file = open("example.txt", "r")
lines = file.readlines()
file.close()
print(lines)
上述例子中,我們打開 example.txt
文件,使用 readlines()
方法將文件中的內容全部讀取到一個列表中,最後關閉文件。執行上述程序後,輸出的內容為:
['這是第一行文字。\n', '這是第二行文字。\n', '這是第三行文字。\n']
可以看到,文件中的每一行都成為了列表中的一個元素。
二、readlines() 的選項
除了可以直接使用 readlines()
方法讀取整個文件外,還可以使用一些選項來滿足自己的需求。
1. 讀取部分內容
我們可以通過給 readlines()
方法傳遞一個整數參數來指定需要讀取的最大位元組數。如果文件中的字元數少於指定的位元組數,則會返回整個文件。
file = open("example.txt", "r")
lines = file.readlines(20)
file.close()
print(lines)
上述例子中,我們將參數設置為 20
,即最多只讀取 20
個字元。執行上述程序後,輸出的內容為:
['這是第一行文字。\n']
可以看到,僅返回了文件中的第一行文本(共 20 個字元)。
2. 移動游標
另一種有用的選擇是移動文件指針,並從指定位置開始讀取。可以使用 seek()
方法來實現這一點。
file = open("example.txt", "r")
file.seek(10)
lines = file.readlines()
file.close()
print(lines)
執行上述程序後,輸出的內容為:
['第一行文字。\n', '這是第二行文字。\n', '這是第三行文字。\n']
我們通過使用 seek()
方法將指針移動到文件的第 11 個字元(第一行文字中的 「第」 字),然後使用 readlines()
方法讀取接下來的所有內容。
三、處理讀取多行內容
1. 處理空白行
當使用 readlines()
方法讀取多行文本時,有時會遇到空白行,並且這些空白行可能會干擾你的代碼。可以使用 strip()
方法來刪除每一行的末尾換行符,進而刪除空白行。
file = open("example.txt", "r")
lines = file.readlines()
file.close()
for line in lines:
if line.strip():
print(line)
執行上述程序後,可以看到輸出結果已經沒有空白行了。
2. 處理行末尾的空格和換行符
在列印列表中的行時,會發現每行末尾都有一個換行符。如果希望移除這些換行符,可以使用 rstrip()
方法。
file = open("example.txt", "r")
lines = file.readlines()
file.close()
for line in lines:
print(line.rstrip())
以上代碼將在每個行末尾刪除多餘的空格和換行符。
3. 處理列表中的特殊字元
假設文件中包含特殊字元,例如製表符,我們可以使用字元串的 replace()
方法來替換這些字元。
file = open("example.txt", "r")
lines = file.readlines()
file.close()
for line in lines:
line = line.replace("\t", " ")
print(line)
上述代碼將在每個製表符處用空格替換,從而正確顯示列表中的所有行。
四、總結
在 Python 中,使用 readlines()
方法可以從文件中讀取多個行,並將它們存儲在列表中。然後可以使用多種選項,例如移動指針,限制讀取的位元組數或處理列表中的行。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/157028.html