IT

[파이썬 기초] 파일 입출력(open(), write(), read())

생각파워 2018. 10. 29. 17:42

1. 이론

파이썬을 공부하면서 가장 마음에 들었던게, 텍스트 파일을 정말 쉽게 처리한다는 것이었습니다. 

파일생성, 읽기, 쓰기 작업이 단 몇줄만에 처리가 되는게 신기했었죠.

간단하게 예제를 보도록 하겠습니다. 

 

먼저 'dongdongfather' 라는 문자열이 저장된 'letters.txt' 파일을 만들어보겠습니다.

 

f = open('letters.txt','w')

f.write('dongdongfather')

f.close()

 

정말 간단하죠?

 

f = open('letters.txt','w')

 

이 문장이 실행되면 현재 디렉토리에 'letters.txt'파일이 있는지 살펴보고, 

있으면 파일을 열고 없으면 'letters.txt' 파일을 만듭니다.

 

두번째 인자인 'w'는 쓰기모드로 열겠다는 의미입니다.

모드  작업 
 r 파일읽기
 w 파일쓰기(파일이 존재하지 않으면 파일 생성, 있으면 덮어씀) 
 x 파일쓰기(파일이 존재하지 않을 경우에만 씀)
 a 파일의 끝부분에 덮어씀

 

 

f.wirte('dongdongfather')

 

파일에 'dongdongfather'라는 문자를 써 넣으라는 문구입니다.


f.close()

 

쓰기위해서 열었던 파일을 닫아줍니다.

 

 

2. 실습

 

1) 먼저 현재 디렉토리에 아무 파일도 없다는것을 확인합니다. 

파이썬 인터프리터에서 os.listdir() 을 사용하면 현재 디렉토리에 있는 내용을 확인할 수 있습니다.

os 모듈을 먼저 import 시키고, listdir() 함수를 실행합니다.

 

 

위에서 보는것과 같이 빈 리스트가 리턴됩니다. 어떤 파일도 존재하지 않는다는 거죠.

 

 

2) 파일을 열고, 내용을 쓰고, 파일을 닫습니다. 상단에 있는 코드를 그대로 실행시키면 됩니다.

 

 

f.write()를 실행하면 14라는 값이 출력됩니다. write() 함수가 실행한 문자열의 길이를 리턴하기 때문입니다.

문자열 'dongdongfather'의 길이가 14이기 때문이죠.

 

 

3) 이제 파일이 생성됐는지 확인해보겠습니다.

os.listdir()함수를 다시 실행해봅니다.

 

 

'letters.txt' 파일이 있는것을 확인해볼 수 있습니다. 

 

 

4) 파일 내용을 확인해보기 위해 파일을 읽어보도록하겠습니다.

 

 

파일의 모드를 'r' 읽기전용으로 열어서 read() 함수로 파일의 내용을 읽어옵니다. 

read() 함수는 파일의 전체내용을 읽어서 문자열로 반환합니다.

'dongdongfather'라는 문자열이 출력되었습니다.

 

 

 

 

 

 

 

반응형