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