import pickle
# 결과를 pickle 파일로 저장
with open('chunks_baseline.pkl', 'wb') as f:
'chunks_baseline.pkl'이라는 파일을 쓰기 모드로(binary) 엽니다.
'wb': write + binary (피클은 텍스트가 아니라 바이너리라서 b 필수)with ... as f: 컨텍스트 매니저: 블록이 끝나면 자동으로 파일을 닫아줍니다(에러가 나도 안전하게 닫힘).
pickle.dump(chunks, f)
메모리에 있는 chunks 객체를 피클 형식으로 파일 f에 저장합니다.
chunks는 미리 만들어져 있어야 합니다(없으면 NameError).
프로토콜은 기본값(파이썬 버전에 따라 달라짐)이 사용됩니다. 더 빠르고 작은 최신 포맷을 원하면:
pickle.dump(chunks, f, protocol=pickle.HIGHEST_PROTOCOL)
print("✅ 'chunks_baseline.pkl' 파일로 저장 완료!")
불러오는 방법(역직렬화)
import pickle
with open('chunks_baseline.pkl', 'rb') as f:
chunks_loaded = pickle.load(f)
print(type(chunks_loaded), len(chunks_loaded) if hasattr(chunks_loaded, '__len__') else 'no len')
경로/위치
파일은 현재 작업 디렉토리에 저장됩니다. 위치가 헷갈리면:
import os
print(os.getcwd())
보안 주의
pickle.load로 열지 마세요. 임의 코드가 실행될 수 있습니다.용량이 큰 경우 압축 저장
import gzip, pickle
with gzip.open('chunks_baseline.pkl.gz', 'wb') as f:
pickle.dump(chunks, f, protocol=pickle.HIGHEST_PROTOCOL)
with gzip.open('chunks_baseline.pkl.gz', 'rb') as f:
chunks_loaded = pickle.load(f)
호환성