Daylogs/Python

Python: 파일 검색 위치 초기화하기

ohgyun 2017. 2. 27. 00:07
발생일: 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) 을 호출하는 것으로 해결했다.


참고:



반응형