open() 함수는 파일을 열고 파일 객체를 반환하는 함수로 파일을 읽거나 쓸 수 있다.
파일을 사용한 후에는 close() 메서드를 호출하여 파일을 닫아야 한다.
with 구문을 이용하면 파일을 자동으로 닫을 수 있다.
with 구문을 이용하면, 파일 작업이 끝났을 때 자동으로 파일을 닫아준다. 이렇게 하면 파일을 명시적으로 닫아주는 close() 메소드를 호출할 필요가 없고, 예외가 발생할 경우에도 파일이 제대로 닫히는 것이 보장된다.
아래 코드는 with 구문을 사용하지 않은 경우이다.
이 경우, 예외가 발생하면 close() 메서드가 호출되지 않을 수 있다. 이로 인해 열린 파일이 남아있어 시스템 자원의 낭비가 발생할 수 있다.
file = open('example.txt', 'r', encoding='utf-8')
content = file.read()
print(content)
file.close()
아래 코드는 with 구문을 사용한 경우이다.
with open('example.txt', 'r', encoding='utf-8') as file:
content = file.read()
print(content)