¿Cómo guardar una sesión interactiva de Python?

Me encuentro con frecuencia usando el intérprete de Python para trabajar con bases de datos, archivos, etc., básicamente mucho formateo manual de datos semiestructurados. No guardo ni limpio correctamente los bits útiles con la frecuencia que quisiera. ¿Hay alguna manera de guardar mi entrada en el shell (conexiones db, asignaciones variables, poco para bucles y bits de lógica), algo de historial de la sesión interactiva? Si uso algo comoscript Tengo demasiado ruido stdout. Realmente no necesito encurtir todos los objetos, aunque si hay una solución que lo haga, estaría bien. Idealmente, me quedaría con un script que se ejecutaba como el que creé de forma interactiva, y podría eliminar los bits que no necesitaba. ¿Hay un paquete que hace esto, o un enfoque de bricolaje?

ACTUALIZA: Estoy realmente sorprendido por la calidad y la utilidad de estos paquetes. Para aquellos con una picazón similar:

IPython: debería haber estado usando esto durante años, algo de lo que tenía en mente reinteract - Muy impresionante, quiero aprender más sobre la visualización y parece que brillará allí. Una especie de aplicación de escritorio gtk / gnome que muestra gráficos en línea. Imagine una carcasa híbrida + calculadora gráfica + mini eclipse. Distribución de la fuente aquí:http: //www.reinteract.org/trac/wiki/GettingI. Construido bien en Ubuntu, se integra también en instaladores de escritorio gnome, Windows y Mac. bpython - extremadamente genial, muchas características agradables, autocompletar (!), rebobinar, guardar una tecla en el archivo, sangrado, bien hecho. La distribución de código fuente de Python extrajo un par de dependencias de sourceforge.

Estoy convertido, estos realmente llenan una necesidad entre intérprete y editor.

Respuestas a la pregunta(36)

Su respuesta a la pregunta