Python 직렬화 모듈 pickle과 json의 차이점 비교

巴扎黑
풀어 주다: 2017-09-19 10:10:21
원래의
1126명이 탐색했습니다.

직렬화를 위한 두 가지 모듈은 다음과 같습니다.

• json: 문자열과 Python 데이터 유형 간 변환에 사용

• pickle: Python 관련 유형과 Python 데이터 유형 간 변환에 사용

Json 모듈은 네 가지 기능을 제공합니다: 덤프, dump, 로드, 로드

피클 모듈은 네 가지 기능을 제공합니다: 덤프, 덤프, 로드, 로드

pickle 사용

dumps는 데이터 유형을 직렬화로 변환할 수 있습니다(Python에서만 인식됨) 문자열

>>> import pickle
>>> data = {'name':'python', 'site':'pythontab.com'}
>>> pstr = pickle.dumps(data)
>>> print pstr
(dp0
S'name'
p1
S'python'
p2
sS'site'
p3
S'pythontab.com'
p4
s.
로그인 후 복사

데이터를 직렬화로 변환

import pickle
data = {'name':'python', 'site':'pythontab.com'}
#打开文件,然后将data写入
with open('dump.data', 'wb') as f:
    pickle.dump(data, f)
#同样读取的时候也需要打开文件
with open('dump.data', 'rb') as f:
    data_load = pickle.load(f)
print data_load
로그인 후 복사

결과:

{'name':'python', 'site':'pythontab.com'}
로그인 후 복사

파일에 표시된 내용은 위와 일치합니다

json의 사용법

json과 pickle의 사용법은 같습니다.

import json
data = {'name':'python', 'site':'pythontab.com'}
jstr = json.dumps(data)
print jstr, type(jstr)
로그인 후 복사

결과:

{"name":"python", "site":"pythontab.com"} <type &#39;str&#39;>
로그인 후 복사

참고: 사전처럼 보이지만 조심하세요. 실제로는 문자열입니다. json은 문자열 형식만 가능하기 때문에 사전처럼 보일 뿐입니다. 그게 전부입니다.

피클과 json의 차이점은 무엇인가요?

json은 서로 다른 언어 간에 데이터를 교환할 수 있는 반면, 피클은 Python 간에만 사용됩니다.

json은 가장 기본적인 데이터 유형만 직렬화할 수 있는 반면, 피클은 클래스와 함수를 포함한 모든 데이터 유형을 직렬화할 수 있습니다.

위 내용은 Python 직렬화 모듈 pickle과 json의 차이점 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿