Solution on Files & Exception
đź§© Problem 1: Read and Display File Content
Description:
Write a Python program to open a text file named info.txt and display its contents.
If the file does not exist, display a custom message like “File not found.”
Solution:
try:
file = open("info.txt", "r")
content = file.read()
print(content)
file.close()
except FileNotFoundError:
print("File not found. Please check the filename.")
Explanation:
The program attempts to open info.txt in read mode.
If it doesn’t exist, Python raises a FileNotFoundError, which we catch and handle gracefully.
đź§© Problem 2: Write User Input to a File
Description:
Ask the user to input a few lines of text and write them to a file called user_notes.txt.
Solution:
file = open("user_notes.txt", "w")
while True:
line = input("Enter text (or 'exit' to stop): ")
if line.lower() == 'exit':
break
file.write(line + "\n")
file.close()
print("Data successfully written to user_notes.txt")
Explanation:
The program takes multiple lines from the user and writes each to a file.
It stops when the user types 'exit'.
đź§© Problem 3: Append Data to a File
Description:
Append a new line "New data added successfully." to an existing file log.txt.
If the file doesn’t exist, create it.
Solution:
file = open("log.txt", "a")
file.write("\nNew data added successfully.")
file.close()
print("Data appended successfully.")
Explanation:
Using append mode "a", data is added to the end of the file without overwriting it.
If the file doesn’t exist, Python automatically creates it.
đź§© Problem 4: Count Number of Lines in a File
Description:
Count and display the total number of lines in data.txt.
Solution:
try:
count = 0
with open("data.txt", "r") as file:
for line in file:
count += 1
print("Total number of lines:", count)
except FileNotFoundError:
print("File not found.")
Explanation:
Each iteration over the file counts one line.
Using with ensures the file is closed automatically.
đź§© Problem 5: Copy Content from One File to Another
Description:
Copy all content from source.txt to destination.txt.
Handle the error if the source file doesn’t exist.
Solution:
try:
with open("source.txt", "r") as src:
data = src.read()
with open("destination.txt", "w") as dest:
dest.write(data)
print("File copied successfully!")
except FileNotFoundError:
print("source.txt not found.")
Explanation:
The with statement handles both reading and writing safely.
If source.txt doesn’t exist, the program prints an error instead of crashing.
đź§© Problem 6: Count Words in a File
Description:
Count the total number of words in story.txt.
Solution:
try:
with open("story.txt", "r") as file:
text = file.read()
words = text.split()
print("Total words:", len(words))
except FileNotFoundError:
print("File not found.")
Explanation:
split() divides the text into words by whitespace.
We count them using len().
đź§© Problem 7: Read File Using with Statement
Description:
Use the with statement to read example.txt line by line.
Solution:
with open("example.txt", "r") as file:
for line in file:
print(line.strip())
Explanation:
The with statement automatically closes the file.
strip() removes newline characters for clean output.
đź§© Problem 8: Handle Division Error from File Input
Description:
You have a file numbers.txt containing two numbers (one per line).
Read them and divide the first by the second.
Handle division by zero properly.
Solution:
try:
with open("numbers.txt", "r") as file:
num1 = int(file.readline())
num2 = int(file.readline())
print("Result:", num1 / num2)
except FileNotFoundError:
print("numbers.txt not found.")
except ZeroDivisionError:
print("Cannot divide by zero.")
Explanation:
We read two integers from the file.
If the second number is zero, we catch the ZeroDivisionError.