티스토리 뷰

반응형

Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.

Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.

 

아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.

How to read specific lines from a file (by line number)?

파일에서 특정 줄(줄 번호로)을 읽는 방법은 무엇입니까?

 문제 내용 

I'm using a for loop to read a file, but I only want to read specific lines, say line #26 and #30. Is there any built-in feature to achieve this?

저는 파일을 읽기 위해 for 루프를 사용하고 있지만, 특정 행(예: #26과 #30)만 읽고 싶습니다. 이를 달성하기 위한 기본 제공 기능이 있습니까?

 

 

 

 높은 점수를 받은 Solution 

If the file to read is big, and you don't want to read the whole file in memory at once:

읽을 파일이 크고 메모리로 전체 파일을 한 번에 읽지 않으려면:
fp = open("file")
for i, line in enumerate(fp):
    if i == 25:
        # 26th line
    elif i == 29:
        # 30th line
    elif i > 29:
        break
fp.close()

 

Note that i == n-1 for the nth line.

n번째 줄의 경우 i == n-1이다.

 


In Python 2.6 or later:

파이썬 2.6 이상의 경우:
with open("file") as fp:
    for i, line in enumerate(fp):
        if i == 25:
            # 26th line
        elif i == 29:
            # 30th line
        elif i > 29:
            break

 

 

 가장 최근 달린 Solution 

with open("test.txt", "r") as fp:
   lines = fp.readlines()
print(lines[3])

test.txt is filename
prints line number four in test.txt

test.txt는 파일 이름입니다.
test.txt에서 줄 번호 4를 출력합니다.

 

 

 

출처 : https://stackoverflow.com/questions/2081836/how-to-read-specific-lines-from-a-file-by-line-number

반응형
댓글
공지사항
최근에 올라온 글