큰 파일을 한 줄씩 읽는 방법

발생하는 문제 및 실행환경

안녕하세요 이제 막 파이썬 처음 시작한 뉴비입니다 아주 큰 파일을 한줄씩 읽어서 처리하고 싶은데 저는 통째로 읽은 다음에 한줄 한줄 끊어읽는 방법밖에 몰라서요

다른 방법이 있는지 알고 싶습니다.

소스코드

for each_line in fileinput.input(input_file):
    do_something(each_line)

    for each_line_again in fileinput.input(input_file):
        do_something(each_line_again)

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    파일을 한 줄씩 읽는 가장 pythonic한 방법은

    with open(...) as f:
        for line in f:
            //여기에서 처리
    

    입니다.

    1. with로 파일을 열고/닫고
    2. if블록 안에서 f에서 한 줄씩 읽습니다.(파이썬은 file도 iterable)

    buffered-IO에 자동으로 메모리를 관리해주기 때문에 큰 파일도 문제없이 실행하실 수 있을 겁니다

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.