<aside> 💡 직렬화*(serialization)란 각종 형태의 데이터를 전송 가능한 형태로 변환하는 과정을 말합니다. 이를 다시 데이터로 변환하는 과정은 역직렬화(deserialization)*라고 합니다.

</aside>

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

JSON

https://youtu.be/55FrHTNjTCc?si=NVZpdEUEAQ7QNQnh