Pickle, with

willy·2022년 1월 19일
0

지난 번 파일생성과 입출력에 대해 공부했다. 이번 시간에는 프로그램에서 사용하고 있는 데이터를 파일로 변환하는 방법에 대해 배웠다.

pickle을 이용하면 이게 가능하다. 이 방법은 왜쓰는걸까?
바로 효율 때문이다.

pickle을 사용하면 텍스트 상태의 데이터가 아닌 파이썬의 객체로 파일을 저장하게 된다.

만약, 10gb짜리 파일에서 필요한 부분을 빼내서 사용한다고 할때, 모든 것을 로드하고 필요한 부분을 뺀다면 비효율적이다. 그래서 필요한 부분만을 호빵맨처럼 뗄 수 있게 만든 셈이다.

모듈로 저장된 파일을 그냥 불러오기만 하면 되기에 편의성과 속도 면에서 이점이다.

아래는 pickle을 사용한 예제다.

코드를 해석해보자. .pickle을 통해 파일을 지정해주고, "wb"를 써준다. 지난번에 배웠던 write와 비슷한 기능인데 b인 바이너리만을 추가해준 것 뿐읻.

여기서 프로파일은 딕셔너리 자료형으로 {}을 사용해 만들어준다.
그리고 이를 프린트를 찍어주고, dump를 기재해준다.
dump는 profile이라는 변수에 있는 데이터를 profile.pickle에 저장해준다는 뜻이다. 이후 파일을 close()로 닫아주고, 프린트를 찍어보면 다음과 같이 나온다.

이번엔 불러오는 방법인데, "rb"와 "load"를 사용하면 된다

with

그런데 매번 close로 닫아주는게 여간 귀찮은 일이 아니다.
이럴때 With을 해주면 코드가 훨신 간단해진다.

위 예시를 통해 pickle 파일을 with로 불러온 모습을 볼 수 있다.
이는 일반적인 파일에서도 마찬가지로 활용할 수 있다.

문제

profile
같은 문제에 헤매지 않기 위해 기록합니다.

0개의 댓글