Algunas veces, al usar ipython, puede presionar una excepción en una función que ha abierto un archivo en modo de escritura. Esto significa que la próxima vez que se ejecute la función se obtiene un error de valor,Cierre todos los archivos abiertos en ipython
ValueError: The file 'filename' is already opened. Please close it before reopening in write mode.
Sin embargo ya que la función largó, el identificador de archivo (que se creó dentro de la función) se pierde, por lo que no puede ser cerrado. La única forma redonda que parece ser la de cerrar la sesión ipython, momento en el que aparece el mensaje:
Closing remaining open files: filename... done
¿Hay una manera de instruir ipython para cerrar los archivos sin salir de la sesión?
Usted debe tratar de utilizar siempre la declaración [ 'with'] (http://docs.python.org/reference/compound_stmts.html#the-with-statement) cuando se trabaja con archivos , por ejemplo, use 'with open (" x.txt ") como fh:'. Esto garantiza que si algo sale mal, se garantiza que el archivo estará cerrado. –
Chris
@Chris debe publicarlo como respuesta porque es la única solución válida y simple – JBernardo
@JBernardo Gracias por la sugerencia - hecho. – Chris