Python에서 피클과 JSON을 사용하여 객체 직렬화 및 역직렬화를 수행하는 방법
Python은 유용한 라이브러리와 모듈이 내장되어 있어 개발자가 다양한 작업을 빠르게 수행할 수 있도록 하는 간단하면서도 강력한 프로그래밍 언어입니다. . 그중 피클과 JSON은 객체 직렬화 및 역직렬화에 일반적으로 사용되는 두 가지 모듈입니다. 이 문서에서는 이 두 모듈을 사용하여 개체를 직렬화 및 역직렬화하는 방법을 소개하고 자세한 코드 예제를 제공합니다.
pickle은 객체를 저장 또는 전송을 위해 바이너리 데이터로 변환할 수 있고, 바이너리 데이터를 원본 객체로 복원할 수도 있는 Python의 모듈입니다.
먼저 피클 모듈을 가져와야 합니다.
import pickle
다음으로 피클 모듈의 dump 함수를 사용하여 객체를 이진 데이터로 직렬화할 수 있습니다.
data = {'name':'Tom', 'age': 25, 'city': 'New York'} serialized_data = pickle.dumps(data)
ump 함수를 사용한 후 serialized_data 변수는 직렬화된 이진 데이터. 반대로, 로드 함수를 사용하여 바이너리 데이터를 원본 개체로 복원할 수 있습니다.
deserialized_data = pickle.loads(serialized_data) print(deserialized_data)
이때 deserialized_data 변수는 복원된 원본 개체를 저장합니다.
다음은 사용자 정의 Person 객체를 직렬화 및 역직렬화하는 방법을 보여주는 완전한 예입니다.
import pickle class Person: def __init__(self, name, age): self.name = name self.age = age # 序列化对象 person = Person('Tom', 25) serialized_person = pickle.dumps(person) # 反序列化对象 deserialized_person = pickle.loads(serialized_person) print(deserialized_person.name) print(deserialized_person.age)
JSON은 읽고 쓰기 쉬운 경량 레벨 데이터 교환 형식입니다. Python은 JSON 개체를 쉽게 직렬화 및 역직렬화할 수 있는 json 모듈을 제공합니다.
먼저 json 모듈을 가져와야 합니다.
import json
다음으로 json 모듈의 dump 함수를 사용하여 객체를 JSON 문자열로 직렬화할 수 있습니다.
data = {'name':'Tom', 'age': 25, 'city': 'New York'} serialized_data = json.dumps(data)
ump 함수를 사용한 후 serialized_data 변수가 저장됩니다. 직렬화된 JSON 문자열. 반대로, load 함수를 사용하면 JSON 문자열을 원본 객체로 복원할 수 있습니다.
deserialized_data = json.loads(serialized_data) print(deserialized_data)
이때 deserialized_data 변수는 복원된 원본 객체를 저장합니다.
마찬가지로 다음은 사용자 정의 Person 개체를 직렬화 및 역직렬화하는 방법을 보여주는 전체 예입니다.
import json class Person: def __init__(self, name, age): self.name = name self.age = age # 序列化对象 person = Person('Tom', 25) serialized_person = json.dumps(person.__dict__) # 反序列化对象 deserialized_person = json.loads(serialized_person) print(deserialized_person['name']) print(deserialized_person['age'])
요약:
pickle 및 JSON 모듈을 사용하면 개체의 직렬화 및 역직렬화를 쉽게 수행할 수 있습니다. 피클을 사용하여 객체를 파일 저장 및 네트워크 전송에 사용할 수 있는 바이너리 데이터로 변환하고 범용 데이터 교환 형식인 JSON을 사용하면 다른 언어와 쉽게 데이터를 교환할 수 있습니다. 특정 사용 시나리오 및 요구 사항에 따라 객체 직렬화 및 역직렬화 작업을 수행하는 데 적합한 모듈을 선택할 수 있습니다.
위 내용은 Python에서 피클과 JSON을 사용하여 객체를 직렬화 및 역직렬화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!