Ao trabalhar com arquivos em Python, é bastante comum invocar explicitamente o método close() após processar o arquivo. Isso pode funcionar bem em muitos casos, mas é uma armadilha comum para iniciantes e desenvolvedores vindos de outras linguagens.
Se uma exceção for lançada antes de chamar o método close(), o arquivo permanecerá aberto. Nesse cenário, o código pararia de ser executado antes que close() fosse chamada, deixando o arquivo aberto após o travamento do programa.
f = open('nome_do_arquivo', 'w')
f.write('Ola eu sou o joão!')
f.close()
Uma maneira de mitigar esse problema é envolver a chamada write() em uma instrução try. Dessa forma, você pode lidar com quaisquer exceções e finalmente usá-lo para garantir que o arquivo seja fechado.
f = open('nome_do_arquivo', 'w')
try:
f.write('Ola eu sou o João!')
finally:
f.close()
Outra opção oferecida pelo Python é usar uma instrução with que garantirá que o arquivo seja fechado quando o código que o usa terminar de ser executado. Isso vale mesmo se uma exceção for lançada.
with open('nome do arquivo', 'w') as f:
f.write('Ola eu sou o João!')
0 Comentários