Search

Python 08. File & Pickle - Python으로 file 읽고 쓰기

Created at
2018/10/11
Updated at
2021/01/21
Tags
Keywords
3 more properties
목차

1. 파일 불러오기

문법
f = open("파일명", "옵션"), f.close()
with 구문: 구문이 끝나면 자동으로 파일이 close됨
with open("파일명", "옵션") as f:
파일 접근 옵션
w: 파일 쓰기 - 파일이 존재하면 덮어씀
x: 파일 쓰기 - 파일이 존재하지 않을때만 생성
r: 파일 읽기
a: 파일 추가 - 파일 마지막에 새로운 내용을 추가
파일 type에 대한 옵션
t: text 파일
b: binary 파일

2. 파일 쓰기 - write

2.1 텍스트 파일 쓰기

2.2 바이너리 파일 쓰기

객체를 저장할 때 사용
bytes(): 이진데이터로 형변환 시켜줌
이진데이터로 저장하기: 옵션 wb

3. 파일읽기 - read

3.1 텍스트 파일 읽어오기 (옵션 : rt)

3.2 바이너리 파일 읽어오기

f = open("range.b", "rb") data = f.read() print(list(data)) f.close()
Python
복사
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

4. 파일에 내용 추가하기 - a

5. with

with 구문이 끝나면 자동으로 close를 하여 파일을 읽고 쓸때 조금 더 편리
with open("test1.txt", 'rt') as f: s = f.read() print(s)
Python
복사
data scicence professional school

6. Pickle

직렬화(serialization): 객체를 파일로 저장하는 것
pickle: 파이썬에서 직렬화를 통해 바이너리 형태의 데이터를 저장하고 복원하는 모듈
데이터, 객체 등 실행 중인 정보를 저장하고 다시 불러와서 사용
데이터 분석에서 분석모델을 저장하고 불러오는 등 많이 사용하게 됨
이진타입으로 변환해서 입력하는 것보다 pickle이 더 빠름

6.1 피클파일로 저장할 클래스 선언

6.2 pickle 파일로 객체를 저장

문법: pickle.dump("저장할 객체", "파일 객체")
with open("obj.pkl", "wb") as f: pickle.dump(a, f)
Python
복사

6.3 pickle 파일 로드 하기

with open("obj.pkl", "rb") as f: load_a = pickle.load(f) load_a
Python
복사
<__main__.A at 0x10c577da0>

6.4 로드한 피클파일 객체의 함수 실행하기

load_a.disp(), load_a.data
Python
복사
pickle test (None, 'pickle test')
위 내용 전체를 jupyter notebook으로 보려면,
참고자료
패스트캠퍼스, ⟪데이터사이언스스쿨 8기⟫ 수업자료
인프런, ⟪프로그래밍, 데이터 과학을 위한 파이썬 입문⟫ 수업 자료