Module Tempfile Python

Le module tempfile crée des fichiers et répertoires temporaires de manière sûre.

import tempfile

Utilisez tempfile pour les données qui ne doivent exister que pendant l’exécution du programme, comme les sorties de test, les téléchargements ou les fichiers intermédiaires.

TemporaryFile()

TemporaryFile crée un objet fichier qui est nettoyé automatiquement.

import tempfile

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

Le fichier est supprimé automatiquement à la fin du bloc with.

NamedTemporaryFile()

NamedTemporaryFile vous donne un chemin sur le disque.

import tempfile

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

C’est utile lorsqu’une autre API a besoin d’un nom de fichier plutôt que d’un objet fichier.

TemporaryDirectory()

Les répertoires temporaires sont utiles pour les tests et les espaces de travail de courte durée.

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

Les fichiers à l’intérieur du répertoire sont supprimés avec lui lorsque le bloc se termine.

Choisir un emplacement temporaire

gettempdir() indique le répertoire utilisé par défaut par Python.

import tempfile

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

Liens pertinents