¿Es necesario cerrar los archivos que no tienen referencia a ellos?
Como principiante completo en programación, estoy tratando de entender los conceptos básicos de abrir y cerrar archivos. Un ejercicio que estoy haciendo es crear un script que me permita copiar el contenido de un archivo a otro.
in_file = open(from_file)
indata = in_file.read()
out_file = open(to_file, 'w')
out_file.write(indata)
out_file.close()
in_file.close()
He intentado acortar este código y se me ocurrió esto:
indata = open(from_file).read()
open(to_file, 'w').write(indata)
Esto funciona y me parece un poco más eficiente. Sin embargo, aquí también me confundo. Creo que omití las referencias a los archivos abiertos; no había necesidad de las variables in_file y out_file. Sin embargo, ¿esto me deja con dos archivos que están abiertos, pero que no tienen nada que se refiera a ellos? ¿Cómo cierro estos, o no hay necesidad de hacerlo?
Cualquier ayuda que arroje algo de luz sobre este tema es muy apreciada.