¿Cómo guardar la salida de una celda en el portátil iPython?

Me gustaría poder guardar la salida TEXT de una notebook iPythoncelda en un archivo en el disco.

Tengo 2 requisitos / solicitudes adicionales:

ser capaz de volver a ejecutar la celda y sobrescribir mi salida con lo que sea más reciente.También muestra la salida dentro del portátil.

He descubierto cómo usar el%%capture es mágico para guardar algo básico de la celda de una notebook iPython en un archivo, pero no parece lo suficientemente flexible: sigue apareciendo cada vez que vuelvo a ejecutar la celda y no puedo hacer que se muestre dentro de la misma celda.

Esto es lo que tengo hasta ahora:

%%capture cap --no-stderr
print 'stuff'
with open('output.txt', 'w') as f:
    f.write(cap.stdout)

# clear the cap by deleting the variable here?
# del cap 

Cuando trato de ponercap.show() después de la escritura, no parece mostrarse. En cambio, pone la salida en la variable cap dos veces.

Respuestas a la pregunta(1)

Su respuesta a la pregunta