탐색 기능?
여기서 제가 혼동한 점을 양해해 주십시오. 하지만 저는 파이썬의 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바이트 포함), 반복합니다.
그seekfunction 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 |