내가 읽고 싶은 100,000 줄 정도의 거대한 텍스트 파일이 있습니다. 모든 내용에 관심이 없습니다. "Residue XXX"로 시작하는 줄을 검색하고 거기에서 다음 세 줄을 읽고 싶습니다. 버퍼의 목록에서 전체 줄을 읽고 싶지 않습니다. 이 줄을 검색하고 거기에서 읽는 효율적인 방법이 있습니까?
f=open("result.txt",r)
lines = f.readlines()// NOT preferred
이 줄을 읽고 반복하는 대신 전체 파일에서이 줄을 검색하는 방법이 있으면 입력을 원합니다.
with open("result.txt") as f:
# find line starting with Residue XXX
next(line for line in f if not line.startswith("Residue XXX"))
# get next three lines into a list (empty string for nonexistent lines)
results = [next(f, "").rstrip() for line in range(3)]
Residue XXX
라인을 results
목록 의 첫 번째 항목으로 유지하려면 다음을 수행 하십시오.
with open("result.txt") as f:
# find line starting with Residue XXX
results = [next(line for line in f if not line.startswith("Residue XXX").rstrip()]
# add next three lines to the list (empty string for nonexistent lines)
results.extend(next(f, "").rstrip() for line in range(3))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다