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

Python에서 파일 읽기·쓰기 위치를 설정하는 방법 – seek() 메서드 완벽 정리

Python에서 파일 위치 설정하기: seek() 메서드

Python에서 파일 내 읽기·쓰기 위치(파일 포인터)를 이동하려면 seek(offset[, whence]) 메서드를 사용하면 됩니다. 이 메서드는 C 언어 표준 입출력 라이브러리(stdio)의 fseek() 함수와 유사하게 동작하며, 파일 객체의 현재 위치를 지정한 오프셋으로 변경합니다.

whence 인자의 의미

두 번째 인자인 whence는 선택 사항이며, 기본값은 0입니다.

  • 0 – 파일 시작점을 기준으로 한 절대 위치로 이동 (기본값)
  • 1 – 현재 위치를 기준으로 상대적으로 이동
  • 2 – 파일 끝을 기준으로 상대적으로 이동

사용 예제

예를 들어 Hello\nworld라는 텍스트가 들어 있는 my_file이라는 파일이 있고, 첫 번째 문자 'l' 바로 앞으로 포인터를 이동하고 싶다면 다음과 같이 작성할 수 있습니다.

f = open('my_file', 'r')
f.seek(2)
f.close()

f.seek(2)를 실행하면 파일 포인터가 파일 시작점에서 두 글자 뒤, 즉 첫 번째 'l' 바로 앞에 위치하게 됩니다.

추가 팁

  • 현재 파일 포인터의 위치를 확인하려면 tell() 메서드를 함께 사용하세요.
  • 텍스트 모드('r', 'w' 등)에서는 whence=1 또는 whence=2를 사용할 때 오직 offset=0만 허용됩니다. 임의의 위치로 자유롭게 이동해야 한다면 바이너리 모드('rb', 'wb')로 파일을 여는 것이 안전합니다.
  • io.SEEK_SET(0), io.SEEK_CUR(1), io.SEEK_END(2) 상수를 활용하면 코드의 가독성을 높일 수 있습니다.