더북(TheBook)

dump() 함수는 열려 있는 텍스트 파일에 파이썬 객체를 내보낸다(export). dumps() 함수는 파이썬 객체를 텍스트 문자열로 내보내는데, 데이터를 읽기 쉽게 출력하거나 프로세스 간 커뮤니케이션을 하려는 목적에서 사용한다. dump()dumps() 함수 모두 JSON 직렬화를 수행한다.

 

icon_wait

 

pickle의 장점

JSON 파일에 데이터를 저장하면 여러분의 변수에 할당된 값이 저장된다. 그리고 다시 JSON을 읽으면, 그 값들의 상태가 독립적으로 바뀐다. 같은 데이터를 pickle을 사용해서 저장하면 원래 변수에 연결된 참조 값(reference) 역시 저장된다. 저장한 pickle을 다시 읽으면 변수에 연결되었던 모든 레퍼런스가 계속 참조 상태를 유지하는 것을 확인할 수 있다.

 

loads() 함수는 JSON 문자열을 파이썬 객체로 변환한다(객체를 파이썬으로 ‘불러온다’). 이 변환은 언제나 가능하다. 마찬가지로 load() 함수는 열려 있는 텍스트 파일에 담긴 내용을 파이썬 객체로 변환한다. 하나의 JSON 파일에 2개 이상의 객체를 저장하면 오류가 발생한다. 그러나 이미 있는 파일에 2개 이상의 객체가 있다면 이를 텍스트로 읽어서 텍스트를 객체의 배열로 변환한 다음(텍스트 주변에는 대괄호를, 객체 사이에는 쉼표 구분자를 달면 된다) loads() 함수를 사용해서 텍스트를 객체의 리스트로 역직렬화하면 오류가 발생하지 않는다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.