pickle 모듈

YU NA Joe·2022년 6월 9일
0
리스트나 클래스같은 텍스트가 아닌 자료형은 일반적인 파일 입출력 방법으로는 데이터를 저장하거나 
불러올 수 없고, 대신에 pickle이라는 모듈을 사용 
cf. 일반적인 파일은 파일 입출력을 이용한다
  1. pickle로 데이터를 저장하거나 불러올때는 파일을 바이트형식으로 읽거나 써야한다. (wb, rb)

  2. 입력, pickle.dump(data, file)

  3. 읽기, pickle.load(file)

# 파일에 텍스트 입력하기-1
text = "hello world"

with open("C:\\Users\\yunaj\\ex.txt", "w",encoding='utf-8') as f:
    f.write(text)
    

# 파일에 텍스트 입력하기-2
    
text = "hello world"

with open("C:\\Users\\ex2.txt", "w",encoding='utf-8') as f:
    f.write(text)
    
 PermissionError: [Errno 13] Permission denied: 'C:\\Users\\ex2.txt' 
 - 경로 주의 
- C:\와 같이 관리자 권한이 필수 인 경우에는 config을 수정해줘야 한다.
- 아니면 C:\\:Users\\(사용자이름).. 과 같이 사용자 폴더 아래에 해주거나
 
# 파일에 리스트 입력하기 - 1
lis = ['a', 'b', 'c']
with open("C:\\Users\\yunaj\\ex2.txt", "w") as f:
    f.write(lis)
    
TypeError: write() argument must be str, not list
- 일반적인 파일처럼 다루면은 오류가 난다 

# 파일에 리스트 입력하기 - 2

import pickle 
lis = ['a', 'b', 'c']
with open("C:\\Users\\yunaj\\ex2.txt", "wb") as f:
    pickle.dump(lis, f)
# 리스트 파일 읽기 

with open("C:\\Users\\yunaj\\ex2.txt", "rb") as f:
    data = pickle.load(f)
data

0개의 댓글