※ 강의를 듣고 제가 이해한 것을 바탕으로 정리한 것이라서 오류가 있을 수 있습니다.

 

●읽기 모드 : r

●쓰기 모드(기존 파일에 내용 삭제 하고 쓰기(덮어쓰기)) : w

●추가 모드(새로운 파일 생성해서 쓰기 또는 기존 파일에 추가 쓰기) : a

 

 

1. 파일 읽기

읽어 올 파일(review.txt)을 코드를 실행할 파일과 같은 경로에 resource폴더를 만들어 저장하였다.

 

이 review.txt 파일은 영화 리뷰 글을 쓴 파일이다.

 

 

예제(1) 기본적인 읽어오기

# 예제1
f = open('./resource/review.txt', 'r') # 파일을 읽고 쓸때는 항상 open함수를 사용해서 파일의 경로를 적어줘야 한다.
content = f.read() # read라는 함수로 읽어 올수 있다.
print(content)
# 반드시 파일을 읽어 온 다음에는 close로 반환 해야 한다.
f.close()

예제1 실행 결과

review.txt 파일의 내용이 잘 출력되는 것을 확인할 수 있다.

 

 

예제(2) with문으로 읽어오기

# 예제2
with open('./resource/review.txt', 'r') as f: # with문은 close를 써주지 않아도 자동으로 리소스를 반환 해주기 때문에 편리하다.
    c = f.read()
    print(c)

 

예제2 실행 결과

예제2의 with문으로도 예제1과 같이 잘 출력되는 것을 알 수 있다.

 

 

예제(3) 한 줄씩 읽어오기

# 예제3

with open('./resource/review.txt', 'r') as f:
    line = f.readline() # 한 줄씩 읽어오기
    while line: #조건이 한줄씩 읽어오는게 조건이므로 한 줄씩 반복해서 읽어 오다가 글이 끝나면 읽을 것이 없기에 조건이 false가 되므로 반복 종료
        print(line, end='#####') # 한줄씩 읽는 것을 눈에 띄게 표시 하려고 ##### 표시
        line = f.readline()

예제3 실행 결과

 

 

 

2. 파일에 쓰기

파일에 쓰기를 하기 위해 text1.txt 라는 빈 파일을 만들었다.

 

 

예제(1) 쓰기(기존 내용 삭제(덮어쓰기))

# 예제1 파일 쓰기(덮어쓰기)
with open('./resource/text1.txt','w') as w: # 파일을 읽을때 와 마찬가지로 with문을 사용하고 파일 경로를 지정해줘서 파일 쓰기를 진행하면 된다.
    w.write('nice man!\n') # write() 함수를 파일에 쓸 내용을 적을 수 있다.

실행 결과

text1.txt 파일에 nice man!이 써진 것을 볼 수 있다.

 

 

예제(2) 쓰기(새로운 파일 생성해서 쓰기 또는 기존 파일에 내용 추가로 쓰기)

 

①기존 파일에 내용 추가로 쓰기

# 예제2(추가 또는 파일 생성)

with open('./resource/text1.txt','a') as a: # 기존 파일인 text1.txt을 경로로 지정해서
    a.write('good man!\n') # write() 함수로 쓸 내용을 적어주면 내용이 파일에 추가 된다.

실행 결과

text1,txt 파일에 good man!이 추가 된 것을 확인 할 수 있다.

 

 

② 새로운 파일 생성해서 쓰기

 

캡처를 보면 text5.txt까지 있는데 text6.txt 파일을 만들어 쓰기를 해보려고 한다.

 

# 예제2(추가 또는 파일 생성)

with open('./resource/text6.txt','a') as a: # text6.txt파일을 새로 만들어
    a.write('cool man!\n') # write() 함수로 파일에 쓸 내용을 쓴다.

실행 결과

새로운 파일인 text6.txt를 만들어 cool man!이 써진 것을 알 수 있다.

'개발 공부한 내용 정리 > python' 카테고리의 다른 글

python DB- SQLite 연동, 테이블 생성, 데이터 삽입  (0) 2020.07.23
python- csv, 엑셀 파일 읽기  (0) 2020.07.22
python- 모듈과 패키지  (0) 2020.07.19
python- 클래스  (0) 2020.07.15
python- 함수  (0) 2020.07.12

+ Recent posts