>백엔드 개발 >파이썬 튜토리얼 >Python에서 대용량 파일의 특정 줄을 효율적으로 읽는 방법은 무엇입니까?

Python에서 대용량 파일의 특정 줄을 효율적으로 읽는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-08 19:39:12468검색

How to Efficiently Read Specific Lines from a Large File in Python?

파일에서 특정 줄 읽기

for 루프를 사용하여 파일을 반복할 때 특정 줄만 읽어야 할 수도 있습니다. Python에서는 루프를 사용하여 파일의 모든 줄을 반복할 수 있지만 전체 파일을 읽지 않고 특정 줄을 읽을 수 있는 내장 기능은 없습니다.

그러나 다음과 같은 상황에서는 해결 방법을 사용할 수 있습니다. 파일이 커서 전체 파일을 메모리로 읽는 것이 불가능합니다. 여기에는 파일을 한 줄씩 반복하고 조건을 적용하여 원하는 줄을 읽는 작업이 포함됩니다.

fp = open("file")
for i, line in enumerate(fp):
    if i == 25:
        # Process 26th line
    elif i == 29:
        # Process 30th line
    elif i > 29:
        break
fp.close()

참고: 루프의 줄 번호는 0부터 시작합니다. 줄의 인덱스는 0입니다.

Python 2.6 및 이후:

Python 2.6 이상에서는 with 문을 활용하여 적절한 파일 처리를 보장할 수 있습니다.

with open("file") as fp:
    for i, line in enumerate(fp):
        if i == 25:
            # Process 26th line
        elif i == 29:
            # Process 30th line
        elif i > 29:
            break

위 내용은 Python에서 대용량 파일의 특정 줄을 효율적으로 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.