파이썬 입문/파이썬 기본

8.5 데이터를 파일로 저장하기:pickle 모듈

푸른하늘 은하수짱 2023. 7. 21. 09:08
728x90
반응형

pickle모듈 : 프로그램에서 사용하는 데이터를 파일 형태로 저장해서 불러와서 
    사용할 수 있는 모듈
    형식 dump(저장할 데이터, 저장할 파일명)
가져올 때는 

import pickle            # pickle  모듈 가져다 쓰기

pickle저장모드는 바이너리 형태로 저장됨

 

  • 텍스트 파일 : 사람이 읽을 수 있는 글자(한글, 영어, 숫자등로 이루어진 파일로, 보통 txt형식으로 저장, 글꼴 크기, 색상등 서식정보 없이 단순한 글자만 저장
  • 바이너리파일 : 컴퓨터가 인식할 수 있는 이진수(0과1)로 이루어진 파일로, jpg, png, mp3,exe등의 파일이 해당됨

 

  • 파일형태에 따른 파일 열기 모드
모드 의미 설명
t 텍스트(text) 파일을 텍스트 모드로 열기, 읽기모드 일때는 rt, 쓰기모드일때는 wt와 같이 사용함. 텍스트 모드는 기본값이므로 t는 생략 가능함
b 바이너리(binary) 파일을 바이너리 모드로 열기, 읽기 모드일 때는  rb, 쓰기모드일때는 wb와 같이 사용함

따라서 profile.pickle 파일을 열기 위해 open() 함수를 사용할 때, w모드 뒤에 b를 붙여서 wb라고 해야 올바르게 저장됨

작성한 데이터를 dump()함수를 사용해 파일로 저장, 마지막엔 close()함수루로 파일 닫기

<실습>

import pickle

profile_file = open("profile.pickle","wb")  #바이너리 형태로 저장

profile = {"이름":"스누피","나이":30,"취미":["축구","골프","코딩"]}

print(profile)

pickle.dump(profile,profile_file)  #profile 데이터를 파일로 저장

profile_file.close()   #파일 닫기

 

실행결과

 

 

# 폴더를 보면 profile.pickle 파일이 생긴것을 볼수 있음.(파일이름 줄때 py이름과 동일하게 주지 않도록 함)

 

  • 만든 파일 다시 불러올때는 load()함수를 사용하고 전달값으로 파일명을 넣기
  • 형식 load(불러올 파일명)

<실습>

profile_file = open("profile.pickle","rb") #읽어 올때 는 바이너리 형태로 열기

profile = pickle.load(profile_file)      # 파일에 있는 정보를 불러와서 profile에 저장

print(profile)

profiel_file.close()

 

실행결과

 

 

#1분퀴즈

pickle모듈로 데이터를 파일에 저장할 때 사용하는 함수는?

1. dump()            2. load()         3. push()          4. save()        정답 : 1

 

 

 

 

 

 

728x90
반응형