# Python, how to create an empty file

> Learn how to create an empty file in Python using the open() function with append or write mode, why you must close it, and how to catch the OSError raised.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2021-01-28 | Topics: [Python](https://flaviocopes.com/tags/python/) | Canonical: https://flaviocopes.com/python-create-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](https://flaviocopes.com/python-introduction/) to open the file in _append mode_:

```python
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:

```python
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`:

```python
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:

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

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