CodeToLive

File Handling in Python

File handling in Python allows you to read from and write to files. Python provides built-in functions to work with files, making it easy to handle text and binary files. File handling is essential for tasks like data storage, configuration management, and logging.

Opening a File

Use the open() function to open a file. You can specify the mode (e.g., read, write, append).


# Open a file in read mode
file = open("example.txt", "r")
content = file.read()
print(content)
file.close()
      

Writing to a File

Use the write() method to write data to a file. If the file does not exist, it will be created.


# Open a file in write mode
file = open("example.txt", "w")
file.write("Hello, World!")
file.close()
      

Appending to a File

Use the append mode to add content to the end of a file without overwriting it.


# Open a file in append mode
file = open("example.txt", "a")
file.write("\nThis is a new line.")
file.close()
      

Using with Statement

The with statement automatically closes the file after the block is executed, even if an exception occurs.


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

Reading Lines from a File

You can read a file line by line using the readline() or readlines() methods.


# Read line by line
with open("example.txt", "r") as file:
    line = file.readline()
    while line:
        print(line, end="")
        line = file.readline()

# Read all lines at once
with open("example.txt", "r") as file:
    lines = file.readlines()
    for line in lines:
        print(line, end="")
      

Working with Binary Files

Binary files (e.g., images, videos) can be read and written using the rb (read binary) and wb (write binary) modes.


# Reading a binary file
with open("image.png", "rb") as file:
    binary_data = file.read()

# Writing to a binary file
with open("copy.png", "wb") as file:
    file.write(binary_data)
      

File Modes

Python supports various file modes for different operations:

Exception Handling in File Operations

Always handle exceptions when working with files to avoid crashes due to missing files or permission issues.


try:
    with open("example.txt", "r") as file:
        content = file.read()
        print(content)
except FileNotFoundError:
    print("File not found!")
except PermissionError:
    print("Permission denied!")
except Exception as e:
    print(f"An error occurred: {e}")
      

File Object Methods

File objects provide several useful methods:


with open("example.txt", "r+") as file:
    file.seek(0)  # Move to the beginning of the file
    file.write("New content at the start.")
    print("Current position:", file.tell())
      
Next: Modules