탐색 기능?
여기서 제가 혼동한 점을 양해해 주십시오. 하지만 저는 파이썬의 seek() 함수에 관한 설명서를 읽었고 (그것을 사용한 후에) 도움이 되었지만, 그것이 무엇을 하는지에 대한 실제적인 의미에 대해서는 아직 약간 혼란스럽습니다, 감사합니다.
에 관하여seek()
걱정할 것은 별로 없습니다.
먼저, 열려 있는 파일에서 작업할 때 유용합니다.
구문은 다음과 같습니다.
fp.seek(offset, from_what)
어디에fp
작업 중인 파일 포인터입니다.offset
이동할 위치 수를 의미합니다.from_what
참조 지점을 정의합니다.
- 0: 참조점이 파일의 시작임을 의미합니다.
- 1: 참조점이 현재 파일 위치임을 의미합니다.
- 2: 참조 지점이 파일의 끝임을 의미합니다.
생략할 경우from_what
기본값은 0입니다.
파일을 관리할 때 파일 내부에는 항상 현재 작업 중인 위치가 있습니다.열기만 하면 해당 위치가 파일의 시작 부분이 되지만, 파일을 사용할 때 진행할 수도 있습니다.
seek
당신이 필요할 때 유용할 것입니다.walk
열려있는 파일을 따라, 당신이 여행하는 길처럼.
파일을 열면 시스템이 파일의 시작 부분을 가리킵니다.모든 읽기 또는 쓰기 작업은 처음부터 수행됩니다.aseek()
작업을 수행하면 해당 포인터가 파일의 다른 부분으로 이동하여 해당 위치에서 읽거나 쓸 수 있습니다.
전체 파일을 읽고 싶지만 처음 20바이트를 건너뛰려면 파일을 엽니다.seek(20)
읽기를 시작할 위치로 이동한 다음 파일 읽기를 계속합니다.
또는 매 10바이트를 읽고 싶다고 말하면, 당신은 다음과 같은 루프를 쓸 수 있습니다.seek(9, 1)
(현재 위치를 기준으로 9바이트 전진 가능)read(1)
(1바이트 포함), 반복합니다.
그seek
function expect는 오프셋(바이트)입니다.
ASCII 파일 예:
따라서 다음 내용의 텍스트 파일이 있는 경우:
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]
참고: 전화를 걸면
read
당신은 읽기 헤드의 위치를 바꾸고 있습니다, 그것은 마치.seek
.
문자열의 경우 WHENCE를 사용하는 것은 잊습니다. f.seek(0)를 사용하여 파일의 시작 부분에 위치하고 f.seek(len(f)+1)을 사용하여 파일의 끝 부분에 위치합니다.open(파일, "r+")을 사용하여 파일의 아무 곳이나 읽고 쓸 수 있습니다."a+"를 사용하는 경우 커서 위치에 관계없이 파일 끝에만 쓸 수 있습니다(추가할 수 있습니다.
언급URL : https://stackoverflow.com/questions/11696472/seek-function
'source' 카테고리의 다른 글
판다 데이터 프레임의 사용자 지정 정렬 (0) | 2023.07.16 |
---|---|
이전 달의 날짜/시간 개체 반환 (0) | 2023.07.16 |
Python을 사용하여 sqlite3 데이터베이스 테이블로 CSV 파일 가져오기 (0) | 2023.07.16 |
LAN을 통해 Visual Studio 디버깅 IIS Express 서버에 연결하는 중 (0) | 2023.07.16 |
ORDER BY 절을 사용하여 뷰 생성 (0) | 2023.07.16 |