이 글은 Python의 직렬화 및 역직렬화 모듈에 대한 간략한 소개(예제 코드)를 제공합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
직렬화: 개체를 네트워크를 통해 전송하거나 로컬 디스크에 저장할 수 있는 데이터 형식으로 변환하는 변환 프로세스를 직렬화라고 하며, 그 반대의 경우를 역직렬화라고 합니다.
json : 다른 언어와 다른 프로그램 간의 직접적인 정보 상호 작용을 구현하는 데 사용됩니다. json은 모든 고급 언어 간의 직렬화된 상호 작용을 지원합니다. json은 사전 -> 문자열 -> 사전
형식을 통해서만 변환할 수 있습니다. 읽기-쓰기 직렬화 형식입니다
pickle: Python의 고유한 직렬화 방법입니다. 필요한 경우 Python은 Python의 거의 모든 유형을 직렬화하고 변환할 수 있습니다.
참고: pickle은 이진 읽기-쓰기 시퀀스입니다.
json과 pickle은 동일한 방법을 사용합니다.
Transmit
x.loads(): 디스크에서 얻은 json 또는 pickle 데이터를 메모리로 읽을 때 먼저 콘텐츠를 하나로 읽습니다. 그런 다음 로드를 사용하여 객체를 역직렬화 하여
x.dump(): 획득한 json 또는 피클 데이터를 직접 직렬화한 다음 파일에 저장할 수 있습니다
x.load(): 파일의 json 또는 피클 데이터를 직접 읽고 되돌릴 수 있습니다. Serialization
예:
Serialization
import json,pickle # f = open('测试文件.txt', 'w') # json 运用 'w',写入 f = open('测试文件.txt', 'wb') # pickle 运用二进制'wb'写入 info = { 'Presly': 'come on', 'Vera': '2333', 'mini': 'hello' } # json.dump(info, f) # 转为纯字符串 # f.write(json.dumps(info)) pickle.dump(info, f) # 转为二进制 # f.write(pickle.dumps(info)) f.close()
Deserialization
import json , pickle # f = open('测试文件.txt', 'r') f = open('测试文件.txt', 'rb') # data = json.load(f) # 只能识别字符串,不能识别二进制 # data = json.loads(f.read()) # data = pickle.load(f) # 只能识别二进制 data = pickle.loads(f.read()) print(data) f.close()
관련 권장 사항:
위 내용은 Python의 직렬화 및 역직렬화 모듈에 대한 간략한 소개(예제 코드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!