# Using tempfile module in Python


In this world, everything is ephemeral. If you need to create temporary files or directories in Python, check out the **tempfile** module.

Whether you want to store intermediate results, manage temp data during execution or just test things out, it can help you by abstracting file creation and cleaning-up operations.

In the a quick walk-through below, we're looking at the following functions:  
\- TemporaryFile : creates an anonymous temporary file  
\- NameTemporaryFile: creates a named temp file which we can use in multiple contexts  
\- TemporaryDirectory: creates a temporary directory (in which we also can create temp files).

Notice how we're using the inside context managers (the 'with' block , check out the comments for a quick intro on them). This means the file will be automatically cleaned up upon exiting (default behavior), unless we specify delete=False at creation.

![](https://miro.medium.com/v2/resize:fit:1400/0*ABOxyRcIHt_1UtJQ align="left")

*Found it useful? Subscribe to my Analytics newsletter at* [*notjustsql.com*](https://notjustsql.com)*.*

---

*Enjoyed this? Here are some related articles you might find useful:*

- [Retrying in Python using tenacity](https://datawise.dev/retrying-in-python-using-tenacity)
- [Using virtual environments in Python](https://datawise.dev/using-virtual-environments-in-python)
- [Installing Python packages with pip](https://datawise.dev/installing-python-packages-with-pip)
- [A quick look at the json module in Python](https://datawise.dev/a-quick-look-at-the-json-module-in-python)

