Bonjour,
il m'avait semblé comprendre qu'il y avait une notion de destructeur (__del__ ?) en Python (bé oui, je viens du c++) et que ce mécanisme avait pour effet (entre autres) de fermer un fichier quand il sort du scope.
en testant une fonction de ce genre :
j'ai l'impression que le fichier reste ouvert en sortant de cette fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 def spam (name): fic = open( name,'wb' ) try: fait_quelque_chose_qui_peut_echouer( fic ) return True except: return None
Oui oui je sais, même avec ce genre de mécanisme, c'est plus propre de faire explicitement le ménage avant de sortir...
Mais je me disais qu'un des avantages de python, c'était de permettre ce genre de racourci... (on n'est plus en C ici !)
Ne ce serait-ce pas une histoire de garbage collector qui fait le ménage quand ça lui chante, et qui fait que mon fichier reste ouvert un "certain temps" après la sortie du scope ?
Que dois-je faire docteur ?
Partager