with-statement

¿Para qué está diseñada la declaración python "with"?

Me encontré con la declaración Python with por primera vez hoy. ¡He estado usando Python a la ligera durante varios meses y ... izar try..finally que with? ¿Por qué no se usa más ampliamente? ¿Qué clases de biblioteca estándar son compatibles con él?

¿Cómo me burlo de un open usado en una instrucción with (usando el framework Mock en Python)?

¿Cómo pruebo el siguiente código con mocks (usando mock, el decorador de parches y centinelas proporcionados por El Mock framework de Michael Foord): def testme(filepath): with open(filepath, 'r') as f: return f.read()

Condicional con sentencia en Python

¿Hay una manera de comenzar un bloque de código con una instrucción with, pero condicionalmente? Algo como: if needs_with ... o no encerrado (es decir, como si no estuviera indentado) Los experimentos iniciales, por supuesto, dan errores de sangría..

¿Cómo es mejor" with " que try/catch para abrir un archivo en Python?

Conseguí que la declaración with te ayude a convertir esto: try: f = open(my_file) do_stuff_that_fails() except: ... na palabra clave solo para eso, así que siento que hay alguna sintaxis para manejar el try/adicional, excepto que no conozco.

pasar argumento para entrar

Simplemente aprendiendo con declaraciones especialmente de este artículo La pregunta es, ¿puedo pasar un argumento a __en ... self.db.connect() return self Me gustaría pasar filename y param_dict como parámetros a __enter__. Es eso posible?

RAII en Python-destrucción automática al salir de un ámbito

He estado tratando de encontrar a RAII en Python. La asignación de recursos es la inicialización es un patrón en C++ por el c ... es de reutilización de variables negligentes? Bueno, sí, por supuesto que soy perezoso, ¿pero soy perezoso en el mal sentido?

tempfile.TemporaryDirectory context manager en Python 2.7

¿Hay alguna forma de crear un directorio temporal en un gestor de contexto con Python 2.7? with tempfile.TemporaryDirectory() as temp_dir: # modify files in this dir # here the temporary diretory does not exist any more.

Python multilínea con declaración

¿Cuál es una forma limpia de crear un with multilínea en python? Quiero abrir varios archivos dentro de un solo with, pero e ... olocación de la \ s. ¿Hay una forma limpia de crear una instrucción multilínea with que permita comentarios dentro de ella?

Significado de" con "declaración sin" como " palabra clave

Estoy familiarizado con el uso de la instrucción with de python como un medio para garantizar la finalización de un objeto en ... que (es decir, funciona a través de globales o referencias implícitas)? ¿O hay algún otro significado que me está eludiendo?

Romper o salir de" con " declaración?

Me gustaría salir de una declaración with bajo ciertas condiciones: with open(path) as f: print 'before condition' ... que puedo invertir la condición: if not <condition>: print 'after condition' any cualquier manera que es como arriba?)