File Modes in Python

File modes in Python define how a file is opened — for reading, writing, appending, etc. Choosing the correct mode is essential for proper file handling and data safety.

Common File Modes

10 Python Examples for File Modes

Example 1: Reading a file ('r')

with open('sample.txt', 'r') as file:
    print(file.read())

Example 2: Writing to a file ('w')

with open('output.txt', 'w') as file:
    file.write('Overwriting content\\n')

Example 3: Appending to a file ('a')

with open('log.txt', 'a') as file:
    file.write('Appended line\\n')

Example 4: Read & write ('r+')

with open('sample.txt', 'r+') as file:
    content = file.read()
    file.seek(0)
    file.write('Updated content\\n')

Example 5: Write & read ('w+')

with open('data.txt', 'w+') as file:
    file.write('New Data\\n')
    file.seek(0)
    print(file.read())

Example 6: Append & read ('a+')

with open('data.txt', 'a+') as file:
    file.write('More data\\n')
    file.seek(0)
    print(file.read())

Example 7: Reading binary data ('rb')

with open('image.jpg', 'rb') as file:
    data = file.read()
    print(f'{len(data)} bytes read')

Example 8: Writing binary data ('wb')

binary_data = b'\\x41\\x42\\x43'
with open('binary.bin', 'wb') as file:
    file.write(binary_data)

Example 9: Creating file exclusively ('x')

try:
    with open('unique.txt', 'x') as file:
        file.write('This file is created exclusively')
except FileExistsError:
    print("File already exists!")

Example 10: Invalid mode handling

try:
    with open('data.txt', 'z') as file:
        pass
except ValueError as e:
    print("Invalid mode:", e)