이 글은 Python의 json 모듈과 pickle 모듈에 대한 간략한 소개를 제공합니다(예제 포함). 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
Python의 json 모듈과 피클은 모두 데이터의 직렬화 및 역직렬화에 사용됩니다. 그들이 제공하는 메서드도 동일합니다: dump, dump, load, load
dumps(obj): Object serialized 스트에.
dump(obj, fp): 객체 를 str로 직렬화하고 파일에 저장합니다.
로드: (직렬화된) 문자열 을 Python 객체로 역직렬화 합니다.
load(fp): 파일의 (직렬화된) 문자열을 Python 객체로 역직렬화 합니다.
차이점이 있거나 각각 고유한 장점과 단점이 있습니다.:
보편성: 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 'dict'> >>> result {'a': 111, 'b': 222, 'c': 333} >>> other_result = pickle.load(pk_f) >>> type(other_result) <class 'list'> >>> other_result [1, 2, 4, 5] >>>
Python 비디오 자습서를 참조하세요. 그리고 php 중국어 웹사이트 파이썬 기사 튜토리얼 칼럼! ! !
위 내용은 Python의 json 모듈과 pickle 모듈에 대한 간략한 소개(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!