Python에서 seek () 함수를 사용하는 방법은 무엇인가요?


우수 답변

구문 :

fileObject.seek(offset[, whence])

  • offset − 파일 내 읽기 / 쓰기 포인터의 위치입니다.
  • whence − 이것은 선택 사항이며 기본값은 절대 파일 위치를 의미하는 0이며, 다른 값은 현재 위치를 기준으로 검색을 의미하고 2는 파일의 끝을 기준으로 검색을 의미합니다.

Sample.txt :

Assuming that "Sample.txt" file contains following text:

This is 1st line

This is 2nd line

This is 3rd line

This is 4th line

This is 5th line

Python 프로그램 :

# Open a file

fo = open("Sample.txt", "r+")

print ("Name of the file: ", Sample.name)

line = fo.readlines()

print ("Read Line: \%s" \% (line))

# Again set the pointer to the beginning

fo.seek(0, 0)

line = fo.readline()

print ("Read Line: \%s" \% (line))

# Close opened file

fo.close()

출력 :

Name of the file: Sample.txt

Read Line: ["This is 1st line\n", "This is 2nd line\n", "This is 3rd line\n", "This is 4th line\n", "This is 5th line"]

Read Line: This is 1st line

도움이 되었기를 바랍니다…

감사합니다 🙂

답변

읽기 위해 파일을 열었다 고 가정합니다 (또는 쓰기, 개념은 동일하게 유지).

fh = open ( “foo.txt”, “r”)

그리고 f.readline ()을 사용하여 파일을 읽었습니다. 파일의 특정 위치에있는 커서를 생각해보십시오. 예를 들어 방금 읽을 파일을 열었을 때 커서 위치는 0입니다. readline ()을 수행하면 위치가 변경됩니다.

다음을 시도해보십시오.

>>> fh=open(“foo.txt”, “r”)

>>> fh.read()

>>> fh.read()

‘’

4 행을 실행할 때 아무것도 가 표시됩니다. 이는 라인 2를 실행 한 후 커서가 이미 파일 끝으로 이동했기 때문입니다. 더 이상 표시 할 내용이 없습니다.

seek () 메서드를 사용하여 커서의 위치를 ​​변경할 수 있습니다. seek ()를 사용하는 가장 간단한 방법에서는

>>> fh.seek(0)

>>> fh.read() <를 사용합니다. / p>

파일의 내용이 다시 표시됩니다. 여기서 일어난 일은 커서가 파일의 시작 부분으로 이동 한 것입니다.

seek ()는 2 개의 매개 변수를받습니다.

  1. 위치를 주어진 바이트 오프셋으로 재설정
  2. from where-는 0- 시작, 1- 현재 위치 또는 2- 끝에 대한 오프셋 위치를 제공합니다.

두 번째 매개 변수의 기본값은 0입니다. 오프셋 값은 필수입니다. 이 함수를 호출하는 동안

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다