[파이썬][Numpy] 메모리 맵 파일을 활용하는 방법
메모리 맵 파일(Memory-Mapped File)은 디스크에 저장된 큰 파일을 메모리에 매핑하여 파일 내용을 읽고 쓸 수 있게 해주는 효율적인 방법입니다. 이를 통해 파일을 메모리에 로드하거나 파일에서 데이터를 읽어오는 작업을 최적화할 수 있습니다. 아래는 메모리 맵 파일을 활용하는 방법에 대한 간단한 예제입니다.
주의: 메모리 맵 파일은 파일의 크기가 큰 경우에 유용합니다. 작은 파일의 경우에는 메모리에 로드하는 것이 더 효율적일 수 있습니다.
import mmap
# 메모리 맵 파일 생성 및 데이터 쓰기
with open('mmap_example.txt', 'wb') as file:
file.write(b'This is an example of memory-mapped file.')
# 메모리 맵 파일 열기 (읽기 모드)
with open('mmap_example.txt', 'r') as file:
mmapped_file = mmap.mmap(file.fileno(), 0, access=mmap.ACCESS_READ)
# 메모리 맵 파일에서 데이터 읽기
data = mmapped_file.read()
print(data)
# 메모리 맵 파일에서 특정 위치의 데이터 읽기
mmapped_file.seek(5) # 5번째 바이트로 이동
data = mmapped_file.read(10) # 10바이트 읽기
print(data)
# 메모리 맵 파일 자동으로 닫힘
위의 코드에서 mmap()
함수를 사용하여 메모리 맵 파일을 열고, read()
및 seek()
를 사용하여 데이터를 읽거나 특정 위치로 이동할 수 있습니다. 메모리 맵 파일은 파일 시스템과 상호 작용하는 데 사용될 수 있으며, 파일 내용을 메모리에 매핑하므로 데이터를 효율적으로 읽고 쓸 수 있습니다.