열혈 강의 파이썬 책에서 보면 seek 파일을 파일의 끝부터 거꾸로 불러오고 싶을경우
f.seek(-[offset],2) 와 같은 인자값으로 거꾸로 불러 올수 있다고 되어 있다.
0의 경우 파일의 처음부터 1의 경우 현위치부터 2의 경우 파일의 끝부터를 나타내게 되는데,
필자는 위와같은 코드를 바로 적용시키면
FILE_END=f_log.seek(-3,2)
io.UnsupportedOperation: can't do nonzero end-relative seeks
와같은 에러를 뱉어 냈다. 사실 정확한 원인은 잘 파악하지 못한 상태이지만, 아래와 같은 방법으로 파일의 끝부터 4000바이트 정도 떨어진 크기를 불러오는 식으로 처리 하게 되었다.
영 찜찜하지만...-_- 왜 바로하면 안되는지와 해결법을 알고 계시는분은
[ k1rha@hacktizen.com ]으로 알려주시면 밥한끼 사도록 하겠습니다.
f_log = open(LOG_PATH_LIST[0],'r+'); FILE_END=f_log.seek(0,2) if(FILE_END < 4000): f_log.seek(0) else: FILE_BACKWORD_SIZE=FILE_END-4000 f_log.seek(FILE_BACKWORD_SIZE,0) |
'Python' 카테고리의 다른 글
[ python 3.2 ] UDP sendto Error 이유와 해결법 (0) | 2012.07.18 |
---|---|
[ python ] LIST 미리 선언해주기 (0) | 2012.07.16 |
[ python ] webhacking.kr를 위한 본 파이썬 블라인드 인젝터 코드 (컬럼명을 알았을 시) (0) | 2012.07.12 |
[python 3.2 ] FTP 관련 python 코드 (0) | 2012.07.11 |
[python 3.2 ] socket Server Client 예제 코드 (0) | 2012.07.11 |