Python File Operations

Python provides various methods and tools to work with files. Whether you need to read, write, append, or delete files, Python’s built-in functions make it easy to perform file operations. In this guide, we will cover common Python file operations, such as opening files, reading, writing, and appending data, and closing the file afterward.

1. Opening a File

To perform any file operation, you must first open the file using the open() function. This function returns a file object, which can be used to perform operations like reading, writing, or appending.

Syntax:

file = open("filename", "mode")

Try It Now

The mode argument defines the operation you want to perform on the file. Common modes include:

  • 'r': Read (default mode, opens the file for reading).
  • 'w': Write (opens the file for writing, creates a new file or overwrites the existing one).
  • 'a': Append (opens the file for writing, adds content to the end of the file).
  • 'rb': Read in binary mode.
  • 'wb': Write in binary mode.

2. Reading from a File

Once the file is opened in read mode ('r'), you can read its content using several methods:

  • read(): Reads the entire file.
  • readline(): Reads one line at a time.
  • readlines(): Reads all lines and returns them as a list of strings.

Example: Reading the Entire File

file = open("example.txt", "r")
content = file.read()
print(content)
file.close()

Try It Now

Example: Reading File Line by Line

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

Try It Now

3. Writing to a File

To write to a file, you can open the file in write mode ('w') or append mode ('a'). The write() method writes a string to the file. In write mode, the file will be overwritten, while in append mode, new data will be added to the end of the file.

Example: Writing to a File

file = open("example.txt", "w")
file.write("This is a new line of text.\n")
file.write("This is another line.\n")
file.close()

Try It Now

Example: Appending to a File

file = open("example.txt", "a")
file.write("This is an appended line of text.\n")
file.close()

Try It Now

4. Using Context Manager (with statement)

The with statement simplifies file operations by ensuring that the file is automatically closed after the block is executed, even if an exception occurs. This makes it a safer and cleaner way to handle files.

Example: Using ‘with’ to Read a File

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

Try It Now

Example: Using ‘with’ to Write to a File

with open("example.txt", "w") as file:
    file.write("This is a new line written using 'with'.\n")
    file.write("File will be automatically closed.")

Try It Now

5. Deleting a File

To delete a file, you can use the os.remove() function from the os module. This will remove the file permanently from the system.

Example: Deleting a File

import os
os.remove("example.txt")

Try It Now

6. Renaming a File

If you want to rename a file, you can use the os.rename() function from the os module. It allows you to rename a file or move it to a different location.

Example: Renaming a File

import os
os.rename("old_file.txt", "new_file.txt")

Try It Now

7. Checking if a File Exists

Before performing file operations like reading or writing, it’s a good practice to check if the file exists using the os.path.exists() function.

Example: Checking if a File Exists

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

Try It Now

8. File Handling Errors

While working with files, you may encounter errors such as a file not being found or lacking permissions. It’s important to handle these exceptions using a try and except block to prevent the program from crashing.

Example: Handling File Not Found Error

try:
    file = open("nonexistent_file.txt", "r")
    content = file.read()
except FileNotFoundError:
    print("Error: File not found.")
finally:
    print("File operation attempted.")

Try It Now

Conclusion

In this guide, we’ve explored various file operations in Python, including opening, reading, writing, appending, renaming, and deleting files. We also learned how to handle errors and ensure files are properly closed using context managers.