Welcome to Day 41 of your Python journey!
Working with files is a core skill for any developer. Whether you're handling logs, reading configurations, or processing data, Pythonβs built-in open()
function makes it simple and powerful.
Today, weβll learn how to read files safely and efficiently using open()
.
π₯ 1. The open()
Function Basics
The syntax is:
file = open("filename.txt", "mode")
-
"r"
β Read mode (default) -
"w"
β Write mode (overwrites file) -
"a"
β Append mode -
"b"
β Binary mode (use with images, etc.) -
"t"
β Text mode (default)
Always remember to close files when done:
file = open("sample.txt", "r")
content = file.read()
file.close()
π 2. Reading the Whole File
with open("sample.txt", "r") as f:
data = f.read()
print(data)
β
Using with
automatically closes the file, even if an error occurs.
π 3. Reading Line by Line
readline()
β Reads one line at a time:
with open("sample.txt", "r") as f:
line = f.readline()
while line:
print(line.strip())
line = f.readline()
readlines()
β Returns all lines as a list:
with open("sample.txt", "r") as f:
lines = f.readlines()
print(lines)
π 4. Reading Fixed Amount of Characters
with open("sample.txt", "r") as f:
first_10_chars = f.read(10)
print(first_10_chars)
π 5. Iterating Over a File Object
You can loop through a file directly:
with open("sample.txt", "r") as f:
for line in f:
print(line.strip())
This is memory-efficient for large files because it reads line by line.
𧨠6. Handling Errors Safely
Always handle exceptions when dealing with files:
try:
with open("non_existent.txt", "r") as f:
data = f.read()
except FileNotFoundError:
print("File not found!")
except IOError:
print("Error reading file!")
π οΈ Real-World Example: Count Words in a File
with open("sample.txt", "r") as f:
text = f.read()
words = text.split()
print("Total Words:", len(words))
π Summary
- Use
open(filename, "r")
to read files. - Always close files or use
with open()
for safety. -
read()
,readline()
, andreadlines()
give you flexibility. - Handle errors with
try-except
. - Iterating over file objects is memory-efficient for large files.
π§ͺ Practice Challenge
- Read a file and count:
- Total lines
- Total words
- Total characters
- Write a script to read a large log file and only print lines containing the word
"ERROR"
. - Read a file and reverse the order of its lines before printing.
- Write a script to read a large log file and only print lines containing the word
Top comments (0)