Skip to content

Python, how to create an empty file

To create a file, use the open() global function.

It accepts 2 parameters: the file path, and the mode.

You can use a as the mode, to tell Python to open the file in append mode:

file = '/Users/flavio/test.txt'

open(file, 'a').close()

#or

open(file, mode='a').close()

If the file already exists, its content is not modified. To clear its content, use the w flag instead:

open(file, 'w').close()

#or

open(file, mode='w').close()

When you open a file, you must remember to close it after you’ve finished working with it. In this case, we close it immediately, as our goal is to create an empty file.

Remember to close the file, otherwise it will remain open until the end of the program, when it will be automatically closed.

Alternatively, you can use with:

with open(file, mode='a'): pass

This will automatically close the file.

Creating a file can raise an OSError exception, for example if the disk is full, so we use a try block to catch it and gracefully handle the problem by printing an error message:

file = '/Users/flavio/test.txt'

try:
    open(file, 'a').close()
except OSError:
    print('Failed creating the file')
else:
    print('File created')

→ Get my Python Handbook
→ Get my Python Handbook

download all my books for free

  • javascript handbook
  • typescript handbook
  • css handbook
  • node.js handbook
  • astro handbook
  • html handbook
  • next.js pages router handbook
  • alpine.js handbook
  • htmx handbook
  • react handbook
  • sql handbook
  • git cheat sheet
  • laravel handbook
  • express handbook
  • swift handbook
  • go handbook
  • php handbook
  • python handbook
  • cli handbook
  • c handbook

subscribe to my newsletter to get them

Terms: by subscribing to the newsletter you agree the following terms and conditions and privacy policy. The aim of the newsletter is to keep you up to date about new tutorials, new book releases or courses organized by Flavio. If you wish to unsubscribe from the newsletter, you can click the unsubscribe link that's present at the bottom of each email, anytime. I will not communicate/spread/publish or otherwise give away your address. Your email address is the only personal information collected, and it's only collected for the primary purpose of keeping you informed through the newsletter. It's stored in a secure server based in the EU. You can contact Flavio by emailing flavio@flaviocopes.com. These terms and conditions are governed by the laws in force in Italy and you unconditionally submit to the jurisdiction of the courts of Italy.

Related posts about python: