open()

timekeeep·2023년 3월 21일

파이썬 문법

목록 보기
1/7

open() 함수는 파일을 열 때 사용하는 파이썬 내장 함수입니다. open() 함수는 다음과 같은 형식으로 호출합니다.

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
  • file: 파일 경로를 나타내는 문자열(string)입니다. 파일 경로는 상대경로(relative path) 또는 절대경로(absolute path)일 수 있습니다.

  • mode: 파일을 열 때 사용할 모드(mode)를 나타내는 문자열(string)입니다. mode 값에 따라 파일에 대한 입출력 작업이 결정됩니다. 기본값은 'r'로 읽기 모드(read mode)를 의미합니다. 다음은 mode 값에 대한 설명입니다.

    • 'r': 읽기 모드(read mode). 파일을 읽기 전용으로 엽니다. 파일이 없으면 예외(FileNotFoundError)가 발생합니다.
    • 'w': 쓰기 모드(write mode). 파일을 쓰기 전용으로 엽니다. 파일이 이미 존재할 경우, 덮어쓰기 됩니다. 파일이 없으면 새로운 파일을 생성합니다.
    • 'x': 배타적 생성 모드(exclusive creation mode). 파일을 쓰기 전용으로 엽니다. 파일이 이미 존재할 경우, 예외(FileExistsError)가 발생합니다.
    • 'a': 추가 모드(append mode). 파일을 쓰기 전용으로 엽니다. 파일이 이미 존재할 경우, 파일 끝에 데이터를 추가합니다. 파일이 없으면 새로운 파일을 생성합니다.
    • 'b': 바이너리 모드(binary mode). 파일을 바이너리(binary) 형태로 엽니다. 텍스트 파일과는 달리, 바이트(byte) 형태로 데이터를 읽고 씁니다.
    • 't': 텍스트 모드(text mode). 파일을 텍스트(text) 형태로 엽니다. 기본값으로 설정되어 있습니다.
    • '+': 읽기와 쓰기 모드(read and write mode)를 함께 사용합니다. 즉, 파일을 읽기와 쓰기 모두 가능하게 엽니다.
  • buffering: 버퍼(buffer) 크기를 나타내는 정수(integer)입니다. 기본값은 -1로 시스템 기본값을 따릅니다. buffering 값이 0일 경우, 버퍼링을 사용하지 않습니다. buffering 값이 1보다 클 경우, 지정한 크기만큼의 버퍼(buffer)를 사용합니다.

  • encoding: 파일의 인코딩(encoding) 형식을 나타내는 문자열(string)입니다. 기본값은 None으로, 바이너리 모드(binary mode)일 경우 무시됩니다.

  • errors: 인코딩(encoding) 시 발생할 수 있는 오류를 처리하는 방식을 나타내는 문자열(string)입니다. 기본값은 None으로, 인코딩(encoding) 시 발생한 오류는 예외(TypeError)가 발생합니다.

  • newline: 텍스트 파일을 읽을 때, 개행 문자(newline character)를 어떤 것으로 처리할 지 나타내는 문자열(string)입니다. 기본값은 None으로, 시스템 기본값을 사용합니다.

  • closefd: 파일 객체를 닫을 때 파일 식별자(file descriptor)를 닫을 지 여부를 나타내는 부울(boolean)입니다. 기본값은 True로 파일 식별자(file descriptor)를 닫습니다.

  • opener: 파일 객체를 열 때 사용할 사용자 정의 함수(user-defined function)입니다. 기본값은 None으로, 내장 함수를 사용합니다.

open() 함수는 호출된 후 파일 객체(file object)를 반환합니다. 이 파일 객체는 with문과 같은 문맥(context)에서 사용되어야 합니다. with문에서 파일을 열면, with문이 종료될 때 파일이 자동으로 닫힙니다. 파일 객체의 메소드(method)를 이용하여 파일을 읽거나 쓸 수 있습니다.

다음은 파일을 읽는 예시입니다.

with open('file.txt', 'r') as f:
    data = f.read()
    print(data)

위 코드는 현재 디렉터리에서 'file.txt' 파일을 읽어와서, 파일 내용을 data 변수에 저장하고, 화면에 출력합니다. 'with open(...) as f' 문은 파일을 열고, 파일 객체를 f 변수에 저장합니다. f.read() 메소드는 파일 내용을 읽어와서 문자열(string)로 반환합니다. 마지막으로 f.close() 메소드는 자동으로 호출되어 파일을 닫습니다.

profile
Those who are wise will shine like the brightness of the heavens, and those who lead many to righteousness, like the stars for ever and ever

0개의 댓글