Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 파일 객체의 주요 속성과 메서드 완벽 가이드

파이썬에서 파일 객체(file object)는 파일을 읽고 쓰기 위해 open() 함수가 반환하는 객체로, 다양한 유용한 메서드와 속성을 제공합니다. 이 글에서는 실무에서 가장 많이 사용되는 파일 객체의 메서드와 속성을 예제와 함께 정리했습니다.

파일 객체의 주요 메서드

  • close() - 열려 있는 파일을 닫습니다. 파일 작업이 끝난 후 반드시 호출하여 시스템 자원을 해제해야 합니다.
  • next() - 파일 객체를 반복자(iterator)로 사용할 때, 주로 for 루프(for line in f: print line)에서 반복적으로 호출됩니다. 다음 입력 줄을 반환하며, 파일 끝(EOF)에 도달하면 StopIteration 예외를 발생시킵니다.
  • read([size]) - 파일에서 최대 size 바이트만큼 데이터를 읽어옵니다. size를 지정하지 않으면 파일 전체를 읽습니다.
  • readline([size]) - 파일에서 한 줄 전체를 읽어옵니다. size를 지정하면 해당 바이트 수만큼만 읽습니다.
  • seek(offset[, whence]) - stdio의 fseek()처럼 파일의 현재 위치를 설정합니다. whence 인수는 선택 사항이며 기본값은 0(파일 시작점 기준 절대 위치)입니다. 그 외 값으로는 1(현재 위치 기준 상대 이동)과 2(파일 끝 기준 상대 이동)가 있습니다.
  • tell() - stdio의 ftell()처럼 파일 내 현재 위치를 정수로 반환합니다.
  • write(str) - 문자열을 파일에 씁니다.
  • writelines(sequence) - 문자열 시퀀스(리스트 등)를 파일에 한 번에 씁니다.

파일 객체의 주요 속성

  • closed - 파일 객체의 현재 상태를 나타내는 불리언(bool) 값입니다. 파일이 닫혀 있으면 True, 열려 있으면 False입니다.
  • encoding - 해당 파일이 사용하는 인코딩 방식입니다. 텍스트 모드로 파일을 열 때 중요합니다.
  • mode - 파일이 열린 입출력(I/O) 모드입니다. 예: 'r'(읽기), 'w'(쓰기), 'a'(추가) 등.
  • name - 파일 객체가 open()으로 생성된 경우 해당 파일의 이름입니다. 그 외의 경우에는 파일 객체의 출처를 나타내는 문자열입니다.

간단한 사용 예제

f = open('example.txt', 'r', encoding='utf-8')
print(f.name)      # example.txt
print(f.mode)      # r
print(f.encoding)  # utf-8
print(f.closed)    # False

line = f.readline()
print(line)

f.close()
print(f.closed)    # True

파일 객체의 메서드와 속성을 잘 활용하면 파일 입출력 코드를 더 안전하고 효율적으로 작성할 수 있습니다. 특히 with 문을 사용하면 close()를 명시적으로 호출하지 않아도 파일이 자동으로 닫히므로, 가능한 한 with 문 사용을 권장합니다.