Python如何實現逐行讀取文本文件
在Python 中有幾種方法可以讀取文本文件。
在本文中,我將介紹 open() 函數、read() 方法、readline() 方法、readlines() 方法、close() 方法和 with 關鍵字。
Python 中的 open() 函數是什麼
如果要在 Python 中讀取文本文件,首先必須打開它。
這是 Python 的 open() 函數的基本語法:
open("name of file you want opened", "optional mode")
文件名和正確路徑
open("demo.txt")
如果文本文件和你當前的文件在同一目錄(“文件夾”)中,那麼你隻需在 open() 函數中引用文件名即可。
以下是兩個文件位於同一目錄中的示例:
如果你的文本文件位於不同的目錄中,則你需要引用文本文件的正確路徑名。
在此示例中,random-text 文件位於與 main.py 不同的文件夾中:
為瞭在 main.py 中訪問該文件,你必須在文件名中包含文件夾名稱。
open("text-files/random-text.txt")
如果你沒有正確的文件路徑,那麼你將收到如下錯誤消息:
open("random-text.txt")
跟蹤你所在的目錄非常重要,這樣你可以引用正確的路徑名。
open() 中的可選模式參數
處理文件時有不同的模式。默認模式是讀取模式。
字母 r 代表讀取模式。
open("demo.txt", mode="r")
你也可以省略 mode=,隻用 “r”。
open("demo.txt", "r")
還有其他類型的模式,例如用於寫入的 “w” 或用於追加的 “a”。我不會詳細介紹其他模式,因為我們隻會專註於讀取文件。
有關其他模式的完整列表,請閱讀文檔。
Python 中 open() 函數的其他參數
open() 函數可以接收其他可選參數:
- buffering
- encoding
- errors
- newline
- closefd
- opener
閱讀文檔瞭解更多參數。
Python 中的 readable() 方法
如果要檢查文件是否可以讀取,則可以使用 readable() 方法。這將返回 True 或 False。
此示例將返回 True,因為我們處於讀取模式:
file = open("demo.txt") print(file.readable())
如果我將此示例更改為 “w”(寫入)模式,則 readable() 方法將返回 False:
file = open("demo.txt", "w") print(file.readable())
Python 中的 read() 方法
read() 方法會將文件的所有內容作為一個字符串讀取。如果文本文件中的內容不多,這是一個很好的方法。
在本例中,我使用 read() 方法從 demo.txt 文件中打印出名稱列表:
file = open("demo.txt") print(file.read())
此方法可以接收一個名為 size 的可選參數。不是讀取整個文件,而是隻讀取其中的一部分。
如果我們修改前面的例子,可以通過添加數字 4 作為 read() 的參數,隻打印出第一個單詞。
file = open("demo.txt") print(file.read(4))
如果省略 size 參數,或者數字為負數,則將讀取整個文件。
Python 中的 close() 方法
完成讀取文件後,關閉它很重要。如果你忘記關閉文件,則可能會導致問題。
這是如何關閉 demo.txt 文件的示例:
file = open("demo.txt") print(file.read()) file.close()
如何使用 with 關鍵字在 Python 中關閉文件
確保文件關閉的一種方法是使用 with 關鍵字。這被認為是一種很好的做法,因為文件會自動關閉,而你不必手動關閉它。
以下是如何使用 with 關鍵字重寫我們的示例:
with open("demo.txt") as file: print(file.read())
Python 中的 readline() 方法
此方法將從文件中讀取一行並返回。
在這個例子中,我們有一個包含這兩個句子的文本文件:
This is the first line This is the second line
如果我們使用 readline() 方法,它隻會打印文件的第一句話。
with open("demo.txt") as file: print(file.readline())
此方法還接受可選的 size 參數。我們可以修改例子,加上數字 7 來隻讀取和打印出來This is:
with open("demo.txt") as file: print(file.readline(7))
Python 中的 readlines() 方法
此方法將讀取並返回文件中所有行的列表。
在此示例中,我們將使用 readlines() 方法將雜貨項目打印為列表。
with open("demo.txt") as file: print(file.readlines())
如何使用 for 循環從 Python 中的文件中讀取行
這些不同讀取方法的替代方法是使用 for 循環。
在這個例子中,我們可以通過循環對象打印出 demo.txt 文件中的所有項目。
with open("demo.txt") as file: for item in file: print(item)
總結
如果要在 Python 中讀取文本文件,首先必須打開它。
open("name of file you want opened", "optional mode")
如果文本文件和你當前的文件在同一目錄(“文件夾”)中,那麼你隻需在 open() 函數中引用文件名即可。
如果你的文本文件位於不同的目錄中,則你需要引用文本文件的正確路徑名。
open() 函數接受可選的 mode(模式)參數。默認模式是讀取模式。
open("demo.txt", "r")
如果要檢查文件是否可以讀取,則可以使用 readable() 方法。這將返回 True 或 False。
file.readable()
read() 方法會將文件的所有內容作為一個字符串讀取。
file.read()
完成讀取文件後,關閉它很重要。如果你忘記關閉文件,則可能會導致問題。
file.close()
確保文件關閉的一種方法是使用 with 關鍵字。
with open("demo.txt") as file: print(file.read())
readline() 方法將從文件中讀取一行並返回。
file.readline()
readlines() 方法將讀取並返回文件中所有行的列表。
file.readlines()
這些不同讀取方法的替代方法是使用 for 循環。
with open("demo.txt") as file: for item in file: print(item)
以上就是Python如何實現逐行讀取文本文件的詳細內容,更多關於Python逐行讀取文本文件的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- python必學知識之文件操作(建議收藏)
- python基礎之文件處理知識總結
- python面試題之read、readline和readlines的區別詳解
- Python中read,readline和readlines的區別案例詳解
- Python文件處理、os模塊、glob模塊