Je modifier le code Python qui ont cette forme:prises de fermeture en python
def foo(self):
try:
connect socket
except Exception, e:
some error reporting stuff
return an error
use the socket
do some other stuff
if some condition:
return
do some more stuff
socket.close()
return normally
venant de Java Je voudrais avoir un essai - enfin autour de la chose pour vous assurer que la prise est fermée. Est-ce que ce code devrait aussi avoir ceci ou est-ce une sorte de magie Pythonique qui se passe en arrière-plan qui fait en sorte que vous n'ayez pas à le faire?
J'ai lu dans les documents python que les sockets sont fermés lorsqu'ils sont collectés. Mais compter sur le garbage collector pour fermer vos douilles ne se sent pas si bien.
Python a toujours essayé. 2.5 unified try-except-finally http://docs.python.org/reference/compound_stmts.html#the-try-statement – JimB