Close dans le destructeur de la classe file ?
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 :
Code:
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 |
j'ai l'impression que le fichier reste ouvert en sortant de cette fonction.
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 ?