파일 read할 때 open()과 with statement의 차이점은 무엇인가요?
조회수 847회
파일을 read할 때, 보통 open(“filename”, “r”) 혹은 with open(“filename”) as file를 사용하는데, 이 둘의 큰 차이점이 있는 건가요? 외국사이트에 It(with statement) is designed to provide much cleaner syntax and exceptions handling when you are working with code. 라고 되어 있는데, 이것 말고 다른 차이도 있나요?!
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
python 에서 with statement가 사용되면 context manager에 의해 해당 object의
__enter__(), __exit__()
를 자동으로 호출하여 예외가 발생하거나 개발자가 실수로 resource를 release 하는 것을 잊어먹더라도 정상적으로 정리되도록 보장해줍니다.즉,
try / except / finally
를 명시적으로 사용한 것과 같은 효과를 얻을 수 있는 것이죠.그냥
open(“filename”, “r”)
을 사용한 경우에는 반드시 해당 파일을 사용한 뒤에 close 해줘야 합니다.하지만 file 객체에
__enter__(), __exit__()
가 구현되어 있어서 with statement를 사용하면 file 객체를 사용한 뒤 with 블럭을 빠져나갈 때 close가 알아서 되기 때문에 편리합니다.p.s
질문하실 때 적어도 현재 사용하는 언어 정도는 명시해주시기 바랍니다 :D
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력