Notice
Recent Posts
Recent Comments
Link
코드 여행 일기
파이썬 pickle 라이브러리: 객체 직렬화와 역직렬화 본문
728x90
반응형
안녕하세요! 이번에는 파이썬에서 제공하는 pickle 라이브러리에 대해 알아보겠습니다.
pickle 라이브러리는 파이썬 객체를 직렬화하고 역직렬화하는데 사용되며,
객체를 파일에 저장하거나 네트워크를 통해 전송할 때 유용하게 활용됩니다.
아래 예제를 통해 pickle의 기본적인 사용법을 살펴보겠습니다.
1. 객체를 파일에 저장하기 (직렬화)
import pickle
# 저장할 객체
data_to_pickle = {"name": "John", "age": 30, "city": "New York"}
# 파일에 객체 저장
with open("data.pkl", "wb") as file:
pickle.dump(data_to_pickle, file)
2. 파일에서 객체 불러오기 (역직렬화)
import pickle
# 파일에서 객체 불러오기
with open("data.pkl", "rb") as file:
loaded_data = pickle.load(file)
# 불러온 객체 출력
print(loaded_data)
3. 리스트 혹은 클래스 객체도 저장 및 불러오기
import pickle
# 리스트 객체 저장
list_to_pickle = [1, 2, 3, 4, 5]
with open("list_data.pkl", "wb") as file:
pickle.dump(list_to_pickle, file)
# 클래스 객체 저장
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person_to_pickle = Person("Alice", 25)
with open("person_data.pkl", "wb") as file:
pickle.dump(person_to_pickle, file)
# 리스트 객체 불러오기
with open("list_data.pkl", "rb") as file:
loaded_list = pickle.load(file)
# 클래스 객체 불러오기
with open("person_data.pkl", "rb") as file:
loaded_person = pickle.load(file)
# 불러온 객체 출력
print(loaded_list)
print(loaded_person.name, loaded_person.age)
4. pickle 라이브러리의 활용
- 객체 직렬화: dump 메서드를 사용하여 파이썬 객체를 직렬화하고 파일에 저장할 수 있습니다.
- 객체 역직렬화: load 메서드를 사용하여 파일에서 저장된 직렬화된 객체를 읽어올 수 있습니다.
- 리스트와 클래스 객체 저장 및 불러오기: 다양한 종류의 객체를 저장하고 불러올 수 있습니다.
pickle은 파이썬 객체를 바이트 형태로 변환하여 파일에 저장하고, 필요할 때 다시 읽어와서 사용할 수 있게 해줍니다.
주의해야 할 점은 pickle을 사용할 때는 안전한 소스에서만 사용해야하며, 신
뢰할 수 없는 소스에서 온 데이터를 역직렬화하면 보안 상의 위험이 발생할 수 있습니다.
계속해서 파이썬의 다양한 라이브러리를 탐험해보세요!
728x90
반응형
'코딩 > Python' 카테고리의 다른 글
파이썬 클래스(class)의 기본 개념과 예제 (0) | 2024.01.17 |
---|---|
이해하기 쉬운 바이너리(Binary) 데이터의 개념과 활용 (1) | 2024.01.16 |
파이썬 파일 입출력: 기초 개념과 예제 (1) | 2024.01.15 |
파이썬 다양한 출력 포맷의 활용과 예제 (1) | 2024.01.15 |
파이썬 sys 라이브러리의 활용과 예제 (2) | 2024.01.15 |