如何使用Python逐行讀取完整文字檔案?


Python具有內建的檔案建立、寫入和讀取功能。在Python中,可以處理兩種型別的檔案:文字檔案和二進位制檔案(用二進位制語言,0和1編寫)。

讓我們瞭解如何在python中開啟檔案。Python是一種優秀的通用程式語言,其標準庫中有很多有用的檔案IO函式和模組。

您可以使用內建的open()函式開啟一個用於讀取或寫入的檔案物件。您可以按照以下方式使用它來開啟檔案。

語法

open()方法的語法如下所示。

File = open(“txt_file_name” ,”access_mode”)

Python中有6種訪問模式,分別是‘r’、‘r+’、‘w’、‘w+’、‘a’‘a+’。它們解釋如下。

  • 只讀 ('r') − 此模式用於開啟文字檔案進行讀取。

  • 讀寫 ('r+') − 此模式允許您讀取和寫入檔案。

  • 只寫 ('w') − 此模式允許您寫入檔案。

  • 寫然後讀 ('w+') − 此模式允許您讀取和寫入檔案。

  • 只追加 ('a') − 此模式允許您寫入檔案。

  • 追加然後讀 ('a+') − 此模式允許您讀取和寫入檔案。

在本文中,我們將瞭解如何逐行讀取檔案。

示例

以下是以讀取模式開啟名為example.txt檔案的示例。

file= open("example.txt", "r")

輸出

執行上述程式後,將生成以下輸出。

example.txt檔案以讀取模式開啟。

使用readline()方法

readline()方法用於在Python中逐行讀取檔案。

示例

以下是一個使用readline()方法的示例,該方法一次讀取一行,需要我們使用和遞增計數器。此程式碼示例開啟一個檔案物件,其引用儲存在fp中,然後在while迴圈中迭代地呼叫該檔案物件的readline()來一次讀取一行。然後將該行列印到控制檯。

#python program to read a file line by line using readline()
file = 'example.txt'
#Opening a file whose reference is stored in fp
with open(file) as fp:
   line = fp.readline()
   cnt = 1
   while line:
#pritning the content as it reads line by line        
      print("Line {}: {}".format(cnt, line.strip()))
      line = fp.readline()
      cnt += 1

輸出

執行上述程式後,將生成以下輸出。

使用readlines()方法

readlines()方法用於一次讀取所有行,並將每一行作為字串元素返回到列表中。此函式對於小型檔案非常有用,因為它將整個檔案內容讀取到記憶體中,然後將其拆分為行。使用strip()函式,我們可以遍歷列表並刪除換行符'\n'。

示例1

以下是一個python程式,它使用readlines()方法逐行讀取檔案。名為example.txt的檔案使用open()函式以只讀模式開啟。然後,使用readlines()方法,將檔案的行作為輸出列印。

#python program to read a file line by line using readlines()
#Opening a file win read access mode
file = open("example.txt","r")
#printing the lines of the file using readlines()
print(file.readlines())

輸出

執行上述程式後,將生成以下輸出。

示例2

readlines()方法讀取每一行並將其放入列表中。然後,我們可以遍歷該列表並使用enumerate()為每一行建立索引。

file = open('example.txt', 'r')
fileContent= file.readlines()

for index, line in enumerate(fileContent):
   print("Line {}: {}".format(index, line.strip()))
file.close()

輸出

執行上述程式後,將生成以下輸出。

更新於:2023年5月11日

772 次瀏覽

啟動您的職業生涯

完成課程後獲得認證

開始
廣告