Módulo Tempfile de Python

El módulo tempfile crea archivos y directorios temporales de forma segura.

import tempfile

Usa tempfile para datos que solo deban existir mientras se ejecuta tu programa, como resultados de pruebas, descargas o archivos intermedios.

TemporaryFile()

TemporaryFile crea un objeto de archivo que se limpia automáticamente.

import tempfile

with tempfile.TemporaryFile(mode='w+t') as temp:
    temp.write('hello')
    temp.seek(0)
    print(temp.read())
hello

El archivo se elimina automáticamente cuando termina el bloque with.

NamedTemporaryFile()

NamedTemporaryFile te da una ruta en disco.

import tempfile

with tempfile.NamedTemporaryFile(mode='w+t') as temp:
    print(bool(temp.name))
True

Esto es útil cuando otra API necesita un nombre de archivo en lugar de un objeto de archivo.

TemporaryDirectory()

Los directorios temporales son útiles para pruebas y espacios de trabajo de corta duración.

import tempfile
from pathlib import Path

with tempfile.TemporaryDirectory() as directory:
    file_path = Path(directory) / 'notes.txt'
    file_path.write_text('draft')
    print(file_path.exists())
True

Los archivos dentro del directorio se eliminan junto con él cuando sale el bloque.

Elegir una ubicación temporal

gettempdir() muestra el directorio que usa Python de forma predeterminada.

import tempfile

print(bool(tempfile.gettempdir()))
True

Enlaces relacionados