EOF stands for
End Of File. This is the point in the program where the user cannot read the data anymore. It means that the program reads the whole file till the end. Also, when the EOF or end of the file is reached, empty strings are returned as the output. So, a user needs to know whether a file is at its EOF.
This tutorial introduces different ways to find out whether a file is at its EOF in Python.
file.read() to Find End of File in Python
file.read() method is a built-in Python function used to read the contents of a given file. If the
file.read() method returns an empty string as an output, which means that the file has reached its EOF.
with open("randomfile.txt", "r") as f: while True: file_eof = file_open.read() if file_eof == '': print('End Of File') break
Note that when we call the
open() function to open the file at the starting of the program, we use
"r" as the mode to read the file only. Finally, we use the
if conditional statement to check the returned output at the end is an empty string.
readline() Method With a
while Loop to Find End of File in Python
file.readline() method is another built-in Python function to read one complete text file line.
while loop in Python is a loop that iterates the given condition in a code block till the time the given condition is true. This loop is used when the number of iterations is not known beforehand.
while loop with the
readline() method helps read lines in the given text file repeatedly.
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()
while loop will stop iterating when there will be no text left in the text file for the
readline() method to read.
Use Walrus Operator to Find End of File in Python
The Walrus operator is a new operator in Python 3.8. It is denoted by
:= . This operator is basically an assignment operator which is used to assign
True values and then immediately print them.
file = open("randomfile.txt", "r") while (f := file.read()): process(f) file.close()
True values are the characters that the
read() function will read from the text file. That means it will stop printing once the file is finished.