본문 바로가기
  • hello world
Language/Python

[Python] 파일 입 · 출력, pickle 모듈

by JJoajjoa 2023. 8. 23.

 

1. 파일 열기 open

- 파일 열어서 객체 생성

- 이미 만들어져있는 파일도 열 수 있음

- 모드 설정 가능(읽기 쓰기 추가 등)

 

 

2. 파일 읽기(read)모드 / 파일 쓰기(write)모드

- 생성된 객체를 통해 파일을 읽거나 쓸 수 있음

 

 

3. 파일 닫기 close

- 파일 사용이 끝나면 반드시 닫아줘야 함

- 닫지않으면 메모리에 남아있어서 데이터 손실의 위험이 있음

file = open("example.txt", "w")
file.write("하이 파이썬 파일 입출력")
file.close()
file = open("example.txt", "r")
res = file.read()
print(res) #하이 파이썬 파일 입출력
file.close()

 

3-1. with

- 자동으로 파일객체 닫아줌

with open("example.txt", "r") as file:
    res = file.read()
    print(res) #하이 파이썬 파일 입출력

 

 


 

 

# 피클 모듈 pickle module

 

파이썬에 딕셔너리 리스트 클래스 자료구조 객체 등을

자료형 변환없이

그대로 파일에 저장하고 싶을 때 사용

 

인수가 여러개일때 가장 보편적으로 사용

ex) 게시판: 글번호 + 글제목 + 글내용 + 조회수 + ...

 

 

 

 

# 모드

 

"r" : 읽기모드

"w" : 쓰기모드 - 이전 데이터를 모두 삭제하고 새로 적는다 

"x" : 생성모드 - 파일을 생성해주는 모드, 이미 파일이 있으면 에러 (승패0:0)

"a" : 추가모드 - 파일에 데이터를 추가하기위해 사용, 해당 파일이 이미 존재한다면 기존데이터 뒤에 새로운 데이터 추가 

"b" : 바이너리모드 - 바이너리 데이터를 사용하기위해

"t" : 텍스트모드 - 텍스트 데이터를 다루기위해 <- 기본값이라 생략가능

"r+" : 파일 읽기 쓰기를 모두 사용할 수 있는 모드

 

in pickle

"rb" : 읽기모드

"wb" : 쓰기모드

"ab" : 추가모드

 

"xtb" : 생성모드 

"rb+" "wb+" "ab+" : 읽기쓰기모드 

 

 

 

 

 

# read()

 

read() : 파일의 전체 내용을 문자열로 반환

readline() : 파일에서 한 줄씩 문자열로 읽음

readlines() : 

read_csv("어쩌구.csv"): csv파일 읽음