É necessário fechar arquivos que não têm referência a eles?
Como iniciante completo em programação, estou tentando entender os conceitos básicos de abertura e fechamento de arquivos. Um exercício que estou fazendo é criar um script que me permita copiar o conteúdo de um arquivo para outro.
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()
Eu tentei encurtar esse código e veio com isso:
indata = open(from_file).read()
open(to_file, 'w').write(indata)
Isso funciona e parece um pouco mais eficiente para mim. No entanto, também é aqui que fico confuso. Eu acho que deixei de fora as referências aos arquivos abertos; não havia necessidade das variáveis in_file e out_file. No entanto, isso me deixa com dois arquivos que estão abertos, mas não têm nada referente a eles? Como as fecho ou não é necessário?
Qualquer ajuda que mostre alguma luz sobre esse tópico é muito apreciada.