File Handling in Python

Manage files and directories in Python

File handling in Python allows you to work with files—reading, writing, appending, and managing data stored in files. Python provides built-in functions and methods for file handling, making it easy to manage files and directories.

Basics of File Handling

  1. Opening a File
    Use the open() function to open a file.

    file = open("filename", mode)
    
    • filename: Name or path of the file.
    • mode: Specifies the mode for file operations:
      • 'r': Read (default).
      • 'w': Write (creates/overwrites the file).
      • 'a': Append (adds to the file if it exists).
      • 'x': Create (fails if the file exists).
      • 'b': Binary mode (e.g., 'rb', 'wb').
      • 't': Text mode (default, e.g., 'rt').
  2. Closing a File
    Always close files after use to release resources:

    file.close()
    
  3. Using with Statement
    The with statement ensures files are properly closed after their block of code is executed:

    with open("filename", "mode") as file:
        # Perform file operations
    

Common File Operations

  1. Reading from a File
# Read the entire file
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

# Read line by line
with open("example.txt", "r") as file:
    for line in file:
        print(line.strip())
  1. Writing to a File
# Write to a new or existing file (overwrites content)
with open("example.txt", "w") as file:
    file.write("This is a new line.\n")
    file.write("Another line.\n")
  1. Appending to a File
# Add content to an existing file
with open("example.txt", "a") as file:
    file.write("This line is appended.\n")

File Methods

  • read(size): Reads size characters or bytes (default is the entire file).
  • readline(): Reads a single line from the file.
  • readlines(): Reads all lines as a list.
  • write(string): Writes a string to the file.
  • writelines(lines): Writes a list of strings to the file.

Copying Content from One File to Another

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

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

Checking File Existence

Use the os module to check if a file exists:

import os

if os.path.exists("example.txt"):
    print("File exists.")
else:
    print("File does not exist.")

Modes Summary

ModeDescription
'r'Read (default, file must exist)
'w'Write (create/overwrite file)
'a'Append (add to existing file)
'x'Create (fail if file exists)
'b'Binary mode (e.g., 'rb')
't'Text mode (default, e.g., 'rt')
No questions available.