파이썬의 피클(pickle)

파이썬의 객체는 메모리에 저장되었다가 종료하면 사라짐

 

그러나 때로는 영원히 저장하여 다른 곳에 사용하고 싶을 수 있음

 

 

pickle.dump(<object>, f)로 object를 f에 저장함

 

위 그림 예시는 [1,2,3,4,5]를 list.pickle에 저장하는 것

 

del [1,2,3,4,5]로 메모리에서 지워봄

 

[1,2,3,4,5]를 다시 불러보면 더 이상 존재하지 않는다는 것을 확인할 수 있음

 

list.pickle에서 읽어온 뒤 [1,2,3,4,5]를 가져오면 다시 사용할 수 있게 됨

 

pickle.load(f)를 이용하여 f에 저장된 object를 불러올 수 있다

 

 

[1,2,3,4,5]를 굳이 저장해야하나? 이런 생각이 들 수 있지만

 

딥러닝같이 대용량의 데이터를 다룰 때는

대용량의 리스트를 생성하는데 시간이 매우 오래걸릴 수 있어서

 

코드를 재활용할 때 시간을 줄이기 위해 pickle을 활용할 때 유용할 수 있다

 

 

#PATH의 pickle을 읽기
with open(PATH,"rb") as fr:

    data = pickle.load(fr)

#data를 data.pickle로 저장
with open('data.pickle', 'wb') as f:

     pickle.dump(data, f)

 

TAGS.

Comments