파일 다루는 거 배우는데 예제마다 with를 쓰더라고요. 저는 처음에 이렇게 배워서 이게 더 직관적이거든요.
f = open("data.txt")
data = f.read()
f.close()
그냥 열고 읽고 닫고 순서대로라 이해도 잘 되고요. 근데 다들 이렇게 쓰라고 하더라고요.
with open("data.txt") as f:
data = f.read()
이러면 close를 안 써도 된다는 건 알겠는데 그거 말고 다른 이유가 있나요. 저는 close 잊어버리지만 않으면 위에 방식도 문제없는 거 아닌가 싶어서요. 실제로 close 안 하면 무슨 일이 생기는지도 궁금하고요. 중간에 에러 나면 어떻게 되는 건지도 잘 모르겠어요. with 쓰는 게 왜 더 안전한지 설명 좀 부탁드려요.