큰 파일을 한 줄씩 읽어야합니다. 파일에 5GB 이상이 있고 각 줄을 읽어야한다고 말하지만 분명히 readlines()
메모리에 매우 큰 목록을 생성 하기 때문에 사용하고 싶지 않습니다 .
이 경우 아래 코드가 어떻게 작동합니까? 되어 xreadlines
자체 메모리에 하나 하나 읽어? 생성기 표현식이 필요합니까?
f = (line for line in open("log.txt").xreadlines()) # how much is loaded in memory?
f.next()
또한 Linux tail
명령 과 마찬가지로 이것을 역순으로 읽으려면 어떻게해야 합니까?
나는 찾았다 :
http://code.google.com/p/pytailer/
과
" 파이썬 헤드, 테일 및 텍스트 파일의 행으로 뒤로 읽음 "
둘 다 잘 작동했습니다!