본문 바로가기
Python/Programming

Python(#8)-파일 입출력

by 알 수 없는 사용자 2020. 5. 14.

 

 

 

Python(#7) - 함수(def)

Python(#6) 반복문(for, while) 지난 시간에는 파이썬의 조건문에 대해서 알아보았습니다 Python(#5) 조건문(if문) 🔳 Python(#4)-자료형(타입)_2와 변수 🔳 Python(#3)- 자료형(타입)_1 Python(#2)-python 입출력..

blog.hyb.kr

지난 시간에는 파이썬의 함수에 대해 알아보았습니다.

오늘은 파이썬의 기초의 마지막 파트, 파일 입출력을 알아보겠습니다.


파일 입출력

우리는 지금까지 파이썬을 공부해왔습니다.

이제 파이썬으로 여러 기능을 구현하는 코드를 작성할 수 있죠.

파일 입출력은 파일과 관련된 기능까지 수행하게 해줍니다.

 

예를 한 번 보시죠

f = open("python.txt", "r")
f.close()

위 코드는 python.txt 라는 파일을 r(읽기) 형식으로 열고,

다시 파일을 닫는 코드입니다.

 

그중 f.close() 부분은 언제나 넣어주시는게 좋습니다.

 

 

open("python.txt", "r")

 

r 읽기모드
w 쓰기모드
a 추가모드

python.txt 뒤에 있는 r(읽기) 는

말 그대로 파일을 읽을 때에만 씁니다

 

그 외에, 파일에 무언가를 쓰고 싶거나 추가하고 싶다면,

w나 a 를 쓰셔야 합니다.

 

w(쓰기) 모드로 파일을 여면, 원래 있던 내용이 모두 지워지고, 해당 파일이 존재하지 않으면

파일을 생성합니다.

 

파일 쓰기

 

 

f= open("C:/Python/python.txt", 'w')
f.close()

위 방법처럼 경로를 명시한 경우에는 해당 경로에 파일이 생성되고,

경로가 명시되지 않았다면 python 파일이 있는 폴더에 생성됩니다.

 

그러나, 지금까지는 파일을 열거나 생성하기만 하고 아무것도 하지 않았습니다.

이제 생성한 파일에 문자를 한번 써봅시다.

 

f= open("python.txt","w")
for i in range(10):
    f.write("Python!!!\n")
f.close()

python.txt 에 Python!!! 를 10번 썼습니다.

이걸 이용한다면 여러 정보를 아주 쉽게 파일에 쓰실 수 있습니다.

물론 a(추가모드)도 w와 사용 방식은 같습니다.

 

파일 읽기

 

파일을 읽을 때엔 흔히 세가지의 함수가 쓰입니다.

 

readline(),  readlines(),   read()

 

입니다

 

readline() 은 한줄을 읽고

radlines() 는 전체 글을 문장마다 하나의 요소로 만들어 리스트를 리턴합니다

read() 는 전체 글을 하나의 문자열로 돌려줍니다.

 

f= open("python.txt","r")
while True:
	line = f.readline()
    if not line:
    	break
    print(line)
f.close()

위 코드는 python.txt 를 한줄 씩 일거가며 출력하고,

더 이상 글이 없다면 끝내는 코드입니다.

 

readline() 은 읽을 글이 없다면 "" 를 리턴합니다

if 문에선 false 이죠

 

f= open("python.txt","r")
for i in f.readlines():
    print(i)
f.close()

이 코드도 위 코드와 같은 동작을 합니다.

readline() 과 readlines() 는 상황에 맞춰 적절히 사용해야 합니다.

 

f= open("python.txt","r")
txt = f.read()
print(txt)
f.close()

이 코드 또한 같은 동작을 하죠

 

 

with문

우리는 지금까지 계속 파일을 열고(open) 다시 닫았습니다(close)

계속 똑같은 것을 쓰다보니 조금 힘든 것 같지 않나요?

그래서 with 문이 존재합니다!

 

f= open("python.txt","r")
txt = f.read()
print(txt)
f.close()
with open("python.txt","r") as f:
    txt= f.read()
    print(txt)

위 두 코드는 같은 기능을 합니다

그냥 with문은 이런식으로 쓰는거구나 하고 넘어가셔도 상관은 없습니다.

그러나 with문은 코드가 길어질때 f.close()를 쓰지 못하는 경우를 방지 해줍니다.

 

나머지는 모두 본인의 선택입니다 ^^

 

오늘은 파일의 입출력에 대해 알아보았습니다.

감사합니다^^

 

#프로그래밍을 공부하면서 중요한 건 꾸준한 관심입니다

#헷갈리는 것이 있다면 해당 언어의 공식문서나 위키 문서 등을 이용하는 습관을 기릅시다^^

#파이썬 공식문서 : https://docs.python.org/ko/3/

#점프 투 파이썬 문서: https://wikidocs.net/book/1

'Python > Programming' 카테고리의 다른 글

Python(#7) - 함수(def)  (0) 2020.05.10
Python(#6) 반복문(for, while)  (0) 2020.04.30
Python(#5) 조건문(if문)  (0) 2020.04.10
🔳 Python(#4)-자료형(타입)_2와 변수  (0) 2020.04.02
🔳 Python(#3)- 자료형(타입)_1  (0) 2020.03.29

댓글