Python 檔案結尾
-
在 Python 中使用
file.read()查詢檔案尾 -
在 Python 中使用帶有
while迴圈的readline()方法查詢檔案結尾 - 在 Python 中使用 Walrus 運算子查詢檔案尾
EOF 代表 End Of File。這是程式中使用者無法再讀取資料的地方。這意味著程式讀取整個檔案直到結束。此外,當到達 EOF 或檔案末尾時,將返回空字串作為輸出。因此,使用者需要知道檔案是否處於其 EOF。
本教程介紹了在 Python 中找出檔案是否處於其 EOF 的不同方法。
在 Python 中使用 file.read() 查詢檔案尾
file.read() 方法是一個內建的 Python 函式,用於讀取給定檔案的內容。如果 file.read() 方法返回一個空字串作為輸出,這意味著檔案已達到其 EOF。
例子:
with open("randomfile.txt", "r") as f:
while True:
file_eof = file_open.read()
if file_eof == "":
print("End Of File")
break
請注意,當我們在程式開始時呼叫 open() 函式開啟檔案時,我們使用 "r" 作為僅讀取檔案的模式。最後,我們使用 if 條件語句來檢查最後返回的輸出是否為空字串。
在 Python 中使用帶有 while 迴圈的 readline() 方法查詢檔案結尾
file.readline() 方法是另一個內建的 Python 函式,用於讀取一個完整的文字檔案行。
Python 中的 while 迴圈是一個迴圈,它迭代程式碼塊中的給定條件,直到給定條件為真。當迭代次數未知時使用此迴圈。
將 while 迴圈與 readline() 方法一起使用有助於重複讀取給定文字檔案中的行。
例子:
file_path = "randomfile.txt"
file_text = open(file_path, "r")
a = True
while a:
file_line = file_text.readline()
if not file_line:
print("End Of File")
a = False
file_text.close()
當文字檔案中沒有可供 readline() 方法讀取的文字時,while 迴圈將停止迭代。
在 Python 中使用 Walrus 運算子查詢檔案尾
Walrus 運算子是 Python 3.8 中的一個新運算子。它由 := 表示。這個運算子基本上是一個賦值運算子,用於分配 True 值,然後立即列印它們。
例子:
file = open("randomfile.txt", "r")
while f := file.read():
process(f)
file.close()
此處,True 值是 read() 函式將從文字檔案中讀取的字元。這意味著一旦檔案完成,Walrus 運算子將停止列印。
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn