Tag: CONTEXTMANAGER
Encontré el siguiente ejemplo de un Administrador de Contexto para un objeto File: class File(object): def <strong>init</strong>(self, nombre_archivo, metodo): self.objeto_archivo = open(nombre_archivo, metodo) def <strong>enter</strong>(self): return self.objeto_archivo def <strong>exit</strong>(self, tipo, valor, traza): self.objeto_archivo.close() Aquí, el trabajo realizado por el administrador, que es abrir el archivo, ocurre en el método __init__. . . . Read more
He escrito el siguiente código para determinar el tipo de decimal localcontext: print(‘tipo de decimal.localcontext():’, type(decimal.localcontext())) Salida: tipo de decimal.localcontext(): #ContextManager Sin embargo, el siguiente código está devolviendo una salida diferente para tipo: with decimal.localcontext() as ctx1: print(type(ctx1)) Salida: Mi pregunta es por qué el segundo fragmento de código está . . . Read more
Utilizar generadores como bloques de construcción para los gestores de contexto es un enfoque interesante porque mantiene todo el estado en un solo lugar. Por ejemplo: @contextlib.contextmanager def manager(): state = get_state() try: yield f(state) except Exception: handle(state) finally: cleanup(state) Sin embargo, un patrón común es el siguiente: class Cliente(): . . . Read more
Estoy leyendo un archivo csv comprimido y quiero extraer sólo columnas específicas sin usar pandas. Mi código actual sólo devuelve una lista para la primera comprensión de lista, pero no para las siguientes. ¿Cómo puedo extraer múltiples columnas mientras uso un gestor de contexto? Archivo de entrada: col1,col2,col3 1,2,3 a,b,c . . . Read more