Updated April 13, 2023
Introduction to Python EOFError
EOFError in python is one of the exceptions handling errors, and it is raised in scenarios such as interruption of the input() function in both python version 2.7 and python version 3.6 and other versions after version 3.6 or when the input() function reaches the unexpected end of the file in python version 2.7, that is the functions do not read any date before the end of input is encountered. And the methods such as the read() method must return a string that is empty when the end of the file is encountered, and this EOFError in python is inherited from the Exception class, which in turn is inherited from BaseException class.
Syntax:
EOFError: EOF when reading a line
Working of EOFError in Python
Below is the working of EOFError:
1. BaseException class is the base class of the Exception class which in turn inherits the EOFError class.
2. EOFError is not an error technically, but it is an exception. When the in-built functions such as the input() function or read() function return a string that is empty without reading any data, then the EOFError exception is raised.
3. This exception is raised when our program is trying to obtain something and do modifications to it, but when it fails to read any data and returns a string that is empty, the EOFError exception is raised.
Examples
Below is the example of Python EOFError:
Example #1
Python program to demonstrate EOFError with an error message in the program.
Code:
#EOFError program
#try and except blocks are used to catch the exception
try:
while True:
#input is assigned to a string variable check
check = raw_input('The input provided by the user is being read which is:')
#the data assigned to the string variable is read
print 'READ:', check
#EOFError exception is caught and the appropriate message is displayed
except EOFError as x:
print x
Output:
Explanation: In the above program, try and except blocks are used to catch the exception. A while block is used within a try block, which is evaluated to true, and as long as the condition is true, the data provided by the user is read, and it is displayed using a print statement, and if the data cannot be read with an empty string being returned, then the except block raises an exception with the message which is shown in the output.
Example #2
Python program to demonstrate EOFError with an error message in the program.
Code:
#EOFError program
#try and except blocks are used to catch the exception
try:
while True:
#input is assigned to a string variable check
check = raw_input('The input provided by the user is being read which is:')
#the data assigned to the string variable is read
print 'Hello', check
#EOFError exception is caught and the appropriate message is displayed
except EOFError as x:
print x
Output:
Explanation: In the above program, try and except blocks are used to catch the exception. A while block is used within a try block, which is evaluated to true, and as long as the condition is true, the data provided by the user is read and it is displayed using a print statement, and if the data cannot be read with an empty string being returned, then the except block raises an exception with the message which is shown in the output.
Steps to Avoid EOFError in Python
If End of file Error or EOFError happens without reading any data using the input() function, an EOFError exception will be raised. In order to avoid this exception being raised, we can try the following options which are:
Before sending the End of File exception, try to input something like CTRL + Z or CTRL + D or an empty string which the below example can demonstrate:
Code:
#try and except blocks are used to catch the exception
try:
data = raw_input ("Do you want to continue?: ")
except EOFError:
print ("Error: No input or End Of File is reached!")
data = ""
print data
Output:
Explanation: In the above program, try and except blocks are used to avoid the EOFError exception by using an empty string that will not print the End Of File error message and rather print the custom message provided by is which is shown in the program and the same is printed in the output as well. The output of the program is shown in the snapshot above.
If the EOFError exception must be processed, try and catch block can be used.
Conclusion
In this tutorial, we understand the concept of EOFError in Python through definition, the syntax of EOFError in Python, working of EOFError in Python through programming examples and their outputs, and the steps to avoid EOFError in Python.
Recommended Articles
This is a guide to Python EOFError. Here we discuss the Introduction and Working of Python EOFError along with Examples and Code Implementation. You can also go through our other suggested articles to learn more –