Python write/create files

Python, a versatile and powerful programming language, offers various functionalities for handling files. In this guide, we’ll explore two fundamental operations: writing to an existing file and creating a new file. This tutorial is designed for Python enthusiasts who wish to deepen their understanding of file operations. Let’s dive into these essential skills that are pivotal in the realm of Python programming.

1. Write to an Existing File

Writing to an existing file in Python is a straightforward task. This ability is crucial when there’s a need to update or modify the contents of a file.


# Open the file in write ('w') mode
with open('example.txt', 'w') as file:
    file.write("Hello, Python world!")

In this example, we open ‘example.txt’ in write (‘w’) mode. If ‘example.txt’ exists, its content will be erased before we write the new content. If it doesn’t exist, Python will create it. The with statement ensures that the file is properly closed after its suite finishes.

Tip: To append to the file instead of overwriting, use ‘a’ mode.

2. Create a New File

Creating a new file in Python can be achieved with the same open() function. If the file does not exist, open() will create it.


# Create a new file
with open('newfile.txt', 'x') as file:
    file.write("Creating a new file in Python.")

Here, we use the ‘x’ mode for file creation. This mode is designed for creating a new file. If the file already exists, Python will raise a FileExistsError.

Best Practices for File Operations in Python

  • Always use the with statement when dealing with files to ensure proper handling and closing of the file.
  • Handle exceptions, such as FileNotFoundError and FileExistsError, to make your code more robust.
  • Remember to choose the correct mode (‘w’, ‘a’, ‘x’) based on your requirement to avoid unintended data loss or errors.


Mastering file operations is a vital skill in Python programming. Through the examples provided, you now have a fundamental understanding of writing to an existing file and creating a new one. These operations form the basis of file manipulation in Python and open the door to more advanced programming techniques.