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

Python에서 파일 내 현재 위치(파일 포인터)를 확인하는 방법

Python에서 파일 내 현재 위치 확인하기

파이썬에서는 파일 객체의 tell() 메서드를 사용하여 파일 내 현재 위치, 즉 파일 포인터의 위치를 손쉽게 확인할 수 있습니다.

예를 들어, "Hello\nworld"라는 텍스트가 저장된 my_file.txt 파일이 있다고 가정해 보겠습니다.

f = open('my_file.txt', 'r')
f.readline()
print(f.tell())
f.close()

위 코드를 실행하면 출력 결과는 6입니다. 그 이유는 다음과 같습니다.

  • f.readline()이 첫 번째 줄인 "Hello"를 읽어 들입니다.
  • 이 시점에서 파일 포인터는 줄바꿈 문자(\n)까지 지나 두 번째 줄인 'world'라는 단어의 시작 지점 바로 앞에 위치하게 됩니다.
  • 'Hello'는 5글자 + 줄바꿈 문자 1개 = 총 6바이트이므로, tell()은 6을 반환합니다.

tell() 메서드의 동작 원리

tell()은 파일의 시작점(0)부터 현재 파일 포인터까지의 바이트 오프셋(offset)을 정수로 반환합니다. 참고로 위 예제 코드의 print f.tell()은 파이썬 2 문법이며, 파이썬 3에서는 함수 형태인 print(f.tell())로 작성해야 합니다.

seek()와 함께 활용하기

tell()은 보통 seek() 메서드와 함께 사용됩니다. seek()으로 특정 위치로 파일 포인터를 이동한 뒤, tell()로 실제 이동된 위치를 검증하는 방식으로 파일 읽기/쓰기 위치를 정밀하게 제어할 수 있습니다.