복붙노트

[PYTHON] seek () 함수는 무엇입니까?

PYTHON

seek () 함수는 무엇입니까?

여기에 내 혼란을 용서해주세요.하지만 파이썬에서 seek () 함수에 관한 문서를 읽은 적이 있습니다. (사용 후) 실제로 도움이되었지만 실제로 의미가 무엇인지 혼란 스럽습니다. 설명이 많이 있습니다. 감사합니다, 감사합니다.

해결법

  1. ==============================

    1.seek ()에 대해서는 걱정할 필요가 없습니다.

    seek ()에 대해서는 걱정할 필요가 없습니다.

    우선, 열린 파일을 조작 할 때 유용합니다.

    구문은 다음과 같습니다.

    fp.seek(offset, from_what)
    

    여기서 fp는 작업중인 파일 포인터입니다. 오프셋은 이동할 위치를 몇 개나 의미합니다. from_what이 참조 지점을 정의합니다.

    생략하면 from_what의 기본값은 0입니다.

    파일을 관리 할 때 현재 작업중인 파일의 위치가 항상 있음을 잊지 마십시오. 방금 열었을 때, 그 위치는 파일의 시작이지만, 당신이 그것으로 작업 할 때, 당신은 전진 할 수 있습니다. seek은 이동중인 경로처럼 열려있는 파일을 따라 가야 할 때 유용합니다.

  2. ==============================

    2.파일을 열면 시스템이 파일의 시작을 가리 킵니다. 당신이하는 모든 읽기 또는 쓰기는 처음부터 일어날 것입니다. seek () 작업은 포인터를 파일의 다른 부분으로 이동시켜 그 위치에서 읽고 쓸 수있게합니다.

    파일을 열면 시스템이 파일의 시작을 가리 킵니다. 당신이하는 모든 읽기 또는 쓰기는 처음부터 일어날 것입니다. seek () 작업은 포인터를 파일의 다른 부분으로 이동시켜 그 위치에서 읽고 쓸 수있게합니다.

    따라서 전체 파일을 읽지 만 처음 20 바이트를 건너 뛰려면 파일을 열고 검색을 시작할 위치로 이동 한 다음 파일 읽기를 계속하십시오.

    또는 매 10 번째 바이트를 읽으려는 경우 seek (9, 1) (현재 위치를 기준으로 9 바이트 앞으로 이동) 루프를 작성하고 1 바이트를 읽고 반복하십시오.

  3. ==============================

    3.seek 함수는 바이트 단위의 오프셋을 기대합니다.

    seek 함수는 바이트 단위의 오프셋을 기대합니다.

    따라서 다음 내용이 포함 된 텍스트 파일이있는 경우

    simple.txt

    abc
    

    첫 번째 문자 위로 건너 뛰려면 다음과 같이 1 바이트 씩 건너 뛸 수 있습니다.

    fp = open('simple.txt', 'r')
    fp.seek(1)
    print fp.readline()
    >>> bc
    
    fp = open('afile.png', 'rb')
    fp.seek(16)
    print 'width: {0}'.format(struct.unpack('>i', fp.read(4))[0])
    print 'height: ', struct.unpack('>i', fp.read(4))[0]
    
  4. from https://stackoverflow.com/questions/11696472/seek-function by cc-by-sa and MIT license