"(...) mesmo com erro garante e fechamento do arquivo!"
Não entendi.
esse tal de with
fecha o arquivo automaticamente, é isso?
"(...) mesmo com erro garante e fechamento do arquivo!"
Não entendi.
esse tal de with
fecha o arquivo automaticamente, é isso?
Oi Vinícius ! Como vai?
Não é o "with" sozinho que fecha o arquivo, mas a combinação dele com o open().
O "with" é um statement do python usado para lidar com exceções, e cuidar de procedimentos padrão.
Quando você escreve apenas open ( ), se você quiser lidar com o erro descrito pelo professor, ou seja, lidar com essa exceção, você precisaria usar o close() logo em seguido, como no exemplo do professor.
logo = open('palavras.txt', 'r')
data = logo.read()
logo.close()
Mas isso ainda não garantiria que todas as exceções seriam cobertas. O código ainda pode dar algum tipo de erro.
Como a função do "with" é de cuidar de exceções e procedimentos padrão para deixar o código mais limpo, quando usado com o open(), ele lida com esse tipo de erro automaticamente. E no caso desse tipo específico de erro, o procedimento padrão seria de fechar o arquivo automaticamente.
Fez sentido?
Caraca... Faz todo o sentido. Obrigado pela aula.
Claro que ainda preciso ver mais sobre esse "with" pra saber como e quando usá-lo.
Achei esses artigos aqui que falam um pouco mais sobre isso!
O último é a documentação oficial, mas acho ela um pouco confusa de entender, então melhor dar uma olhada nesses outros antes:
https://www.geeksforgeeks.org/with-statement-in-python/
https://www.pythonforbeginners.com/files/with-statement-in-python
https://docs.python.org/2.5/whatsnew/pep-343.html
Que bom que consegui te ajudar =)
Bons Estudos!