J'ai plusieurs fichiers qui doivent absolument être supprimés à la fin du programme. Je ne veux pas vraiment utiliser tempfile.TemporaryFile
parce que les fichiers doivent être transmis un peu, et être utilisé pour la redirection de sortie de commande dans os.system()
appels. Donc, je voudrais utiliser tempfile.mkstemp
, mais ceux-ci ne sont pas supprimés automatiquement. J'ai pensé à envelopper ma méthode principale dans un essai-finalement comme ceci:Python: Comment s'assurer qu'un fichier est supprimé à la fin du programme?
if __name__ == "__main__":
try:
main()
finally:
os.remove(tempfile)
mais cela semble plutôt discutable. Y a-t-il un meilleur moyen?
Pourquoi ne pas utiliser un répertoire temporaire à la place? –
sur cette route, il y a 'avec tempfile.TemporaryDirectory() comme tmpdir: ...' depuis python3.2 –
Oh, je n'ai pas vu que cela supprime aussi les fichiers. C'est ce que vous obtenez pour seulement scanner la documentation :) Merci! – user8793