<aside> 💡 직렬화*(serialization)란 각종 형태의 데이터를 전송 가능한 형태로 변환하는 과정을 말합니다. 이를 다시 데이터로 변환하는 과정은 역직렬화(deserialization)*라고 합니다.
</aside>
pickle 모듈 사용import pickle
my_list = ['apple', 'banana', 'cherry']
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
# 데이터를 pickle 파일로 저장
with open('my_data.pickle', 'wb') as f:
pickle.dump(my_list, f)
pickle.dump(my_dict, f)
다른 파일에서 실행
import pickle
# pickle 파일로부터 데이터 불러오기
with open('my_data.pickle', 'rb') as f:
loaded_list = pickle.load(f)
loaded_dict = pickle.load(f)
pass
class User:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
return f"안녕하세요, {self.name}입니다. 나이는 {self.age}살입니다."
user_1 = User("홍길동", 30)
user_2 = User("전우치", 25)
# 객체를 직렬화하여 파일에 저장
with open('hong.pickle', 'wb') as file:
pickle.dump(user_1, file)
# 파일로부터 객체 역직렬화
with open('hong.pickle', 'rb') as file:
loaded_user_1 = pickle.load(file)
# 역직렬화된 객체의 메소드 호출
greeting = loaded_user_1.greet()
pass