티스토리 뷰
발생일: 2016.04.19
키워드: file seek, python file search, 파이썬 파일 검색, file position, file pointer, 파일 포인터, 파일 커서, file cursor position
문제:
전체 파일에서 특정 단어를 찾는 코드를 작성했다.
첫 번째 검색할 땐 잘 찾아지는데, 두 번째부턴 검색되지 않는다.
왜일까?
해결책:
첫 번째 검색을 수행하면서 파일 포인터의 위치가 파일의 맨 끝으로 이동했기 때문이다.
두 번째 검색을 위해, 파일 포인터를 다시 파일의 시작 위치로 옮겨주는 방법으로 해결할 수 있다.
파일 포인터의 위치는 seek 메서드로 옮길 수 있다.
file.seek(offset, from_what)
- offset: 얼마나 옮길 것인지
- from_what: 어디를 기준으로 할 것인지
- 0: os.SEEK_SET, 파일의 시작
- 1: os.SEEK_CUR, 현재 위치
- 2: os.SEEK_END, 파일의 끝
이 문제에선, file.seek(0, 0) 을 호출하는 것으로 해결했다.
참고:
반응형
댓글
공지사항