File Handling (Reading/Writing Files)

1. Introduction

File handling in Python allows reading, writing, and managing files efficiently. Python provides built-in functions for working with text and binary files.


2. Opening a File

Python uses the open() function to handle files.

file = open("example.txt", "r")  # Opens a file in read mode
file.close()  # Always close the file after use

File Modes

ModeDescription
"r"Read (default), file must exist
"w"Write, creates a new file or overwrites existing content
"a"Append, adds data to an existing file
"x"Create, fails if file already exists
"rb"Read binary mode
"wb"Write binary mode

3. Reading a File

Reading Entire Content

with open("example.txt", "r") as file:
    content = file.read()
    print(content)

with open() ensures the file is closed automatically.

Reading Line by Line

with open("example.txt", "r") as file:
    for line in file:
        print(line.strip())  # Removes newline characters

Reading Specific Number of Characters

with open("example.txt", "r") as file:
    print(file.read(10))  # Reads first 10 characters

Reading Lines into a List

with open("example.txt", "r") as file:
    lines = file.readlines()  # Reads all lines into a list
    print(lines)

4. Writing to a File

Writing and Overwriting a File

with open("example.txt", "w") as file:
    file.write("Hello, World!\n")
    file.write("Python File Handling Tutorial")

"w" mode overwrites existing content.

Appending to a File

with open("example.txt", "a") as file:
    file.write("\nAppending new content!")

5. Working with Binary Files

Binary files store data like images, videos, and executables.

Reading a Binary File

with open("image.png", "rb") as file:
    data = file.read()
    print(data[:10])  # Display first 10 bytes

Writing to a Binary File

with open("copy.png", "wb") as file:
    file.write(data)

6. Checking if a File Exists

import os
if os.path.exists("example.txt"):
    print("File exists!")
else:
    print("File not found!")

7. Summary

Use open("filename", "mode") to work with files. 
Always close files or use with open() for automatic closing. 
"r" to read, "w" to write, "a" to append, and "x" to create new files. 
Handle text and binary files separately.