본문 바로가기

Python

PhCharm - pickle


# 직렬화

# 메모리 상의 자료 구조를 있는 그대로 본을 떠서
# 파일로 저장하는 행위를 의미
# 즉, 시스템 내부의 파이썬 객체들을 파일로 저장해 뒀다가
# 다른 시스템에서도 사용 가능하도록 바이트의 형태로
# 만드는 것을 의미
# 파이썬에서 직렬화/ 역직렬화를 사용하려면 pickle이라는 모듈 필요

import pickle

sungjuk = {'name': '혜교', 'kor': 99, 'eng': 98, 'mat': 99}

# dict 자료구조를 파일에 저장 - 직렬화
# dump(자료객체, 파일객체)
with open('sungjuk.pkl', 'wb') as f:
    pickle.dump(sungjuk, f)

# 파일에 저장된 자료구조를 읽어서 원래대로 풀어놈 - 역직렬화
# 변수 = load(파일객체)
with open('sungjuk.pkl', 'rb') as f:
    sj = pickle.load(f)

print(sj)
type(sj)

# json과 차이점은 dict말고도 다양한 파일을 저장가능


# 성적데이터를 리스트로 저장
sungjuk=['지현', 99, 98, 99]

with open('sungjuk2.pkl', 'wb') as f:
    pickle.dump(sungjuk, f)

with open('sungjuk2.pkl', 'rb') as f:
    sj = pickle.load(f)

print(sj)
type(sj)

'Python' 카테고리의 다른 글

PyCharm - 데이터베이스 (Oracle)  (0) 2022.05.20
PyCharm - 데이터베이스 (sqlite3)  (0) 2022.05.18
PhCharm - csv , json, binary  (0) 2022.05.17
PhCharm - 파일 입출력  (0) 2022.05.17
PyCharm - except  (0) 2022.05.17