en Python se utiliza la palabra clave with
cuando se trabaja con recursos no administrados (como secuencias de archivo). Es similar a la declaración using
en VB.NET y C#. Le permite asegurarse de que un recurso se "limpia" cuando el código que lo utiliza termina de ejecutarse, incluso si se lanzan excepciones. Proporciona 'azúcar sintáctico' para los bloques try/finally
.
De Python Docs:
El comunicado aclara with
código que previamente utilizaría try...finally
bloques para asegurar que se ejecuta código de limpieza. En esta sección, discutiré la declaración, ya que se usará comúnmente. En la siguiente sección, examinaré los detalles de implementación y mostraré cómo escribir objetos para usar con esta declaración.
La declaración with
es una estructura de flujo de control cuya estructura básica es:
with expression [as variable]:
with-block
se evalúa la expresión, y debería resultar en un objeto que soporta el protocolo de gestión de contexto (es decir, tiene __enter__()
y __exit__()
métodos).
actualización fija VB llamada al comentario de Scott Wisniewski. De hecho estaba confundiendo with
con using
.
esto podría ayudar: http://effbot.org/zone/python-with-statement.htm – Domenic