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 값에 대한 설명입니다.
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() 메소드는 자동으로 호출되어 파일을 닫습니다.