>  기사  >  백엔드 개발  >  Python의 json 모듈과 pickle 모듈에 대한 간략한 소개(예제 포함)

Python의 json 모듈과 pickle 모듈에 대한 간략한 소개(예제 포함)

不言
不言앞으로
2018-10-12 15:52:341818검색

이 글은 Python의 json 모듈과 pickle 모듈에 대한 간략한 소개를 제공합니다(예제 포함). 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

Python의 json 모듈과 피클은 모두 데이터의 직렬화 및 역직렬화에 사용됩니다. 그들이 제공하는 메서드도 동일합니다: dump, dump, load, load

  • dumps(obj): Object serialized 스트에.

  • dump(obj, fp): 객체 를 str로 직렬화하고 파일에 저장합니다.

  • 로드: (직렬화된) 문자열 을 Python 객체로 역직렬화 합니다.

  • load(fp): 파일의 (직렬화된) 문자열을 Python 객체로 역직렬화 합니다.

json 및 pickle 모듈은 모두 데이터의 직렬화 및 역직렬화에 사용되지만 둘 사이에는 여전히 많은

차이점이 있거나 각각 고유한 장점과 단점이 있습니다.:

  • 보편성: The json 직렬화 후의 문자열은 범용 형식(일반 문자열)이며 다양한 플랫폼과 언어에서 인식될 수 있는 반면, 피클 직렬화 후의 문자열은 Python(Python 관련 직렬화 모듈)에서만 인식될 수 있습니다.

  • 처리된 데이터 유형 : json이 직렬화할 수 있는 객체는 Python에서 기본 데이터 유형만 직렬화할 수 있는 반면, pickle은 Python에서 모든 데이터 유형을 직렬화할 수 있습니다.

  • 처리된 데이터 유형: json 직렬화 후의 문자열은 텍스트 유형(메모장에서 파일을 연 후나 인쇄한 후에도 내용을 이해할 수 있음), 피클 직렬화 후의 문자 문자열은 바이너리 스트림 데이터(열기 후) 메모장이나 인쇄를 하시면 내용이 전혀 이해가 되지 않습니다.) 따라서 파일 작업을 수행할 때 어떤 모듈이 사용되는지, b 형식으로 열어야 하는지 여부에 주의하세요.

  • 사용 공간: json은 더 작은 저장 공간이 필요한 반면, 피클은 더 큰 저장 공간이 필요합니다.

다음은 피클 파일 작업의 간단한 예입니다.

>>> import pickle
>>> dic = {'a': 111, 'b': 222, 'c': 333}
>>> f = open('D:/pk_file.pk', 'wb')
>>> lst = [1, 2, 4, 5]
>>> # 将字典对象和列表对象序列化,并存入文件,文件名后缀自定义为.pk
>>> pickle.dump(dic, f)
>>> pickle.dump(lst, f)
>>> f.close()
>>> # 将文件中的Python对象按写入顺序读取出来,且一次读取一个对象
>>> pk_f = open('D:/pk_file.pk', 'rb')
>>> result = pickle.load(pk_f)
>>> type(result)
<class &#39;dict&#39;>
>>> result
{&#39;a&#39;: 111, &#39;b&#39;: 222, &#39;c&#39;: 333}
>>> other_result = pickle.load(pk_f)
>>> type(other_result)
<class &#39;list&#39;>
>>> other_result
[1, 2, 4, 5]
>>>

위 내용은 이 기사의 전체 내용입니다. Python에 대한 더 흥미로운 내용을 보려면

Python 비디오 자습서를 참조하세요. 그리고 php 중국어 웹사이트 파이썬 기사 튜토리얼 칼럼! ! !

위 내용은 Python의 json 모듈과 pickle 모듈에 대한 간략한 소개(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제