Python 프로그래밍/Python 중급
파이썬 중급8 (open,with - 파일 입출력)
NOP(No Operation)
2020. 3. 3. 03:02
파이썬 파일 입출력
파일 입출력
파일 입력과 출력은 상당히 중요합니다.
파일에 있는 내용을 불러와 읽을 수도 있어야 하며
파일에 내용을 추가/수정도 가능해야 합니다.
오늘은 간단하게 메모장에 내용을 써보고 그 내용을 읽어 보겠습니다.
파일 입력하기
파일 생성하는 함수의 기본형은 아래와 동일합니다.
1
|
객체 = open(파일이름,파일 모드)
|
cs |
파일 모드에는 여러 가지 모드가 있습니다.
파일 모드 | 설명 |
r | read의 약어이며 읽기 모드입니다. |
w | write의 약어이며 쓰기 모드입니다. |
a | append의 약어이며 추가 모드입니다. |
먼저 파일을 생성하는 법을 배워 보겠습니다.
1
2
3
|
f = open("test.txt", 'w') #파일을 쓰기모드로 연다.
f.write("안녕하세요") #파일에 쓴다 "안녕하세요"라고
f.close() #파일을 닫는다.
|
cs |
실행하면 아무 반응도 없을 것입니다.
프로젝트 폴더로 가 보시면
위와 같이 "test.txt"가 존재합니다.
파일 오픈 시 "안녕하세요"가 쓰여있습니다.
파일 출력하기
이번에는 입력 파일을 읽어 보겠습니다.
1
2
3
4
|
f = open("test.txt","r") #파일을 읽기전용으로 열어서 f라는 변수에 담아줍니다.
l = f.readline() #f에 있는 줄을 읽어 와서 l에 담습니다.
print(l) #l을 출력합니다.
f.close() #파일을 닫아줍니다.
|
cs |
파일 입출력 응용
이번에는 파일에 여러 줄을 써 보겠습니다.
1
2
3
4
|
f = open("test.txt",'a') #test.txt에 추가합니다.
for i in range(3): #0~2까지 반복합니다.
f.write("안녕하세요 {0}\n".format(i)) #파일에 "안녕하세요"를 3번 씁니다.
f.close() #파일 닫습니다.
|
cs |
파일을 열면 꼭 닫아줘야 합니다.
하지만 매번 사용 후 close를 쓰는 것도 힘들어지면
간단하게 with문으로 처리 가능합니다.
이번에는 with문으로 간단하게 파일을 읽어 보겠습니다.
1
2
3
|
with open("test.txt",'r') as f: #f = open("test.txt",'r')과 동일합니다.
l = f.readlines() #l안에 f의 내용을 다 읽어서 담습니다.
print(l) #l을 출력합니다.
|
cs |
다음과 같이 리스트로 출력이 됩니다.
이러한 부분은
1
2
3
4
5
|
with open("test.txt",'r') as f: #f = open("test.txt",'r')과 동일합니다.
l = f.readlines() #l안에 f의 내용을 다 읽어서 담습니다.
for i in l:
print(i.stript('\n')) #\n을 없애 줍니다.
|
cs |
이렇게도 수정이 가능 하지만
1
2
3
4
5
6
|
with open("test.txt",'r') as f: #f = open("test.txt",'r')과 동일합니다.
while True: #True조건이니 무한 반복합니다.
l = f.readline() #f에서 한 라인을 읽어 l에 담습니다.
if l == "": #l에 아무것도 없다면 정지합니다.
break
print(l[:-1]) #마지막에 \n을 제거하고 출력합니다.
|
cs |
이렇게도 가능합니다.
요약
1.open함수를 이용하여 파일을 오픈할 수 있다.
2.read, write함수를 이용해 읽고 쓸 수 있다.
3. 여러 줄을 동시에 읽고 쓸 수 있다.
숙제
1. 파일에 자판기의 음료수 종류와 가격을 넣고 알맞게 뽑아와 주세요.
다음 시간에는 예외처리에 대해서 알아보겠습니다 수고하셨습니다.