File Handling in Python

File handling is one of the most important aspects of programming. It allows you to store, retrieve, and manage data permanently. In Python, you can easily read and write both text and binary files using built-in functions and context managers.

Opening and Closing Files

Python provides the open() function to interact with files.

file = open("filename", "mode")
# Perform operations
file.close()
Mode Description
'r' Read mode (default). File must exist.
'w' Write mode. Overwrites existing content or creates a new file.
'a' Append mode. Adds new data to the end of the file.
'b' Binary mode (used with โ€˜rโ€™, โ€˜wโ€™, or โ€˜aโ€™).
't' Text mode (default).
Example:

file = open("sample.txt", "w")
file.write("Hello, Python!")
file.close()
This creates (or overwrites) sample.txt and writes "Hello, Python!" to it.

Reading Files

Once a file is opened in read mode, you can use various methods to access its content.

file = open("sample.txt", "r")
data = file.read()
print(data)
file.close()
Method Description
read() Reads the entire file as a string
readline() Reads one line at a time
readlines() Returns all lines as a list
Example:

file = open("data.txt", "r")
for line in file:
    print(line.strip())
file.close()

Writing to Files

Use the write() or writelines() methods to write data to a file.

file = open("output.txt", "w")
file.write("Python makes file handling easy!\n")
file.writelines(["You can write multiple lines at once.\n", "Just use writelines method.\n"])
file.close()
When you use 'w' mode, existing file data will be erased.

Working with Binary Files

Binary files store data in bytes rather than text. Use 'rb' and 'wb' modes for binary operations.

# Writing binary data
with open("data.bin", "wb") as file:
    file.write(b"Python Bytes")

# Reading binary data
with open("data.bin", "rb") as file:
    content = file.read()
    print(content)

Using Context Managers (with statement)

The with statement automatically handles opening and closing files โ€” even if an error occurs. This is the recommended way to manage files.

with open("sample.txt", "r") as file:
    data = file.read()
    print(data)
No need to call close() โ€” Python closes the file automatically. Prevents resource leaks and improves code readability.

Example: Reading and Writing Together

with open("input.txt", "r") as infile:
    content = infile.read()

with open("copy.txt", "w") as outfile:
    outfile.write(content)

print("File copied successfully!")
This script reads data from input.txt and writes it into copy.txt โ€” a simple file copy program.

Summary

File handling in Python provides a simple yet powerful way to work with data โ€” from text logs to large binary files. Using with statements ensures safe file operations and cleaner code.

Concept Description
open() Opens a file in the specified mode
read(), readline(), readlines() Reads file data
write(), writelines() Writes data to a file
'r', 'w', 'a', 'b', 't' File access modes
with statement Automatically manages file resources
Binary files Used for non-text data (images, audio, etc.)
In the next article, we'll explore Object-Oriented Programming (OOP) in Python โ€” classes, objects, and everything that makes Python truly powerful.
Share this Article