Bonjour,
Juste quelques compléments.
- Le module "tempfile" permet de créer des fichiers temporaires et de les supprimer automatiquement à leur clôture. Si en plus on utilise le mode contextuel avec "with", ça se fait tout seul à la fin du bloc de codes démarré par "with". Mais dans certains cas, on voudrait pouvoir non seulement travailler avec des fichiers temporaires, mais aussi pouvoir les consulter plus tard dans le programme, voire après l'arrêt du programme. C'est possible aussi, mais ce ne sont pas les mêmes méthodes à utiliser, et il faudra faire les suppressions en fin de programme ou après, à la main . Voir:
https://docs.python.org/fr/3/library...odule-tempfile
- il existe un algorithme de recherche du répertoire temporaire à utiliser:
https://docs.python.org/fr/3/library...ile.gettempdir
Cela peut réserver des surprises. Ainsi, j'ai découvert sous Windows qu'un de mes programmes installés avait détourné le répertoire de TEMPDIR (variable d'environnement) pour son propre usage: C:\Users\Public\Documents\xxxxxxx\Temp. Comme c'est un endroit où n'importe quel utilisateur peut écrire, ce n'est pas un problème, mais si on veut consulter après coup un fichier temporaire, on peut le chercher un moment... Il suffit donc de vérifier (toujours sous Windows) les principales variables d'environnement concernées pour éviter les surprises:
1 2 3 4 5 6
| import os
env = os.environ
print(env.get("TMPDIR", "TMPDIR absent"))
print(env.get("TEMP", "TEMP absent"))
print(env.get("TMP", "TMP absent")) |
Si on veut utiliser un répertoire temporaire particulier, on peut forcer avec, par exemple:
tempfile.tempdir = r"C:\Users\Utilisateur\AppData\Local\Temp"
Partager