[python] open함수

양연수·2024년 2월 2일

python

목록 보기
1/2

open() 함수는 파일을 열고 파일 객체를 반환하는 함수로 파일을 읽거나 쓸 수 있다.
파일을 사용한 후에는 close() 메서드를 호출하여 파일을 닫아야 한다.
with 구문을 이용하면 파일을 자동으로 닫을 수 있다.

  • file : 열고자 하는 파일의 경로와 이름을 나타낸다.
  • mode : 파일을 열 때 사용할 모드를 나타낸다.
    a. r : 읽기 모드. 기본값
    b. w : 쓰기
    c. a : 추가
    d. b : 바이너리
    e. t : 텍스트
    f. + : 읽기와 쓰기 모두 가능.
    ex) rb 는 바이너리 읽기모드, w+ 는 읽기와 쓰기모드
  • buffering : 버퍼링 정책을 설정한다. 기본값은 -1로 시스템 기본값이 사용된다.
  • encoding : 파일을 읽거나 쓸 때 사용할 인코딩을 설정한다. 기본값은 None으로 시스템 기본 인코딩을 사용한다.
  • errors : 인코딩 및 디코딩 오류 처리 방식을 설정한다. 기본값은 None
  • newline : 개행 문자를 어떻게 처리할지 설정한다. 기본값은 None

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)

0개의 댓글