Python에서 대용량 파일을 읽는 게으른 방법: 조각별 처리
Python에서 대용량 파일을 읽는 것은 어려울 수 있으며, 특히 컴퓨터 용량을 초과하는 경우 더욱 그렇습니다. 사용 가능한 메모리. 이 문제를 완화하기 위해 게으른 방법은 파일을 하나씩 읽고, 각 부분을 처리하고, 결과를 별도로 저장하는 방식으로 솔루션을 제공합니다.
방법 1: 수율 기반 생성기 사용
게으른 메서드를 만드는 한 가지 방법은 읽을 때 데이터 덩어리를 생성하는 생성기 함수를 사용하는 것입니다. 이를 통해 전체 파일을 메모리에 로드하지 않고도 파일을 반복할 수 있습니다.
def read_in_chunks(file_object, chunk_size=1024): while True: data = file_object.read(chunk_size) if not data: break yield data
사용법:
with open('really_big_file.dat') as f: for piece in read_in_chunks(f): process_data(piece)
방법 2: Iter 및 도우미 함수 사용
또 다른 옵션은 iter 함수와 도우미 함수를 사용하여 각각의 크기를 정의하는 것입니다. Chunk.
f = open('really_big_file.dat') def read1k(): return f.read(1024) for piece in iter(read1k, ''): process_data(piece)
방법 3: 줄 기반 반복 사용
파일이 줄 기반인 경우 Python에 내장된 게으른 파일을 활용할 수 있습니다. 읽을 때 줄을 생성하는 개체입니다.
for line in open('really_big_file.dat'): process_data(line)
이러한 게으른 방법을 사용하면 대용량 파일을 효율적으로 처리할 수 있습니다. 한 번에 필요한 부분만 읽어 메모리 소모를 줄이고 시스템 정지를 방지합니다.
위 내용은 Python에서 대용량 파일을 메모리에 완전히 로드하지 않고 효율적으로 처리하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!