p.164 파일 입출력

1. 파일 입출력

표준 입출력	파일 입출력
주로 키보드로부터 자료를 읽어들이며, 결과는 모니터로 출력한다. 파일을 읽어들이는 것 없이 작업한다.	파일의 자료를 불러와 처리한 결과를 모니터나 파일로 출력하며, 키보드로 입력받은 자료를 처리하여 파일로 출력하기도 한다.
입력 : input() 출력 : print()	파일열기 : open() 파일읽기 : read() 파일쓰기 : write() 파일닫기 : close()

중요!!! 읽고 쓰는 것이 끝나면 꼭 close() 함수를 사용해 닫아야 한다. 그렇지 않으면 저장이 안된다.

2. 파일 처리

파일 열기・쓰기		모드
파일 객체 = open(파일경로 또는 파일명, 모드)		‘r’ : 읽기만 ‘w’ : 쓰기(기존 내용 덮어쓰기) ‘a’ : 추가하기(기존 내용에 이어쓰기)
예시	f = open('songwon.txt','w') \\만약 ‘r’인경우에는 write를 할 때 에러가 난다. f.write('hello') f.close()

연습문제1)

‘r’모드	‘w’모드	‘a’모드
f = open('songwon.txt','r') d=f.read()	f = open('songwon.txt','w') d=f.write(‘송원고 파이팅’) f.close()	f = open('songwon.txt','a') d=f.write(‘\n1학년 최고’) f.close()
결과(songwon.txt 내용)	결과(songwon.txt 내용)	결과(songwon.txt 내용)
hello	송원고 파이팅	송원고 파이팅 1학년 최고

3. 파일 읽기

파일 읽기	설명
파일 객체.read()	파일 내용 전체를 가져와 하나의 문자열로 반환 (각 줄은 ‘\n’으로 구분)
파일 객체.readline()	파일 한줄을 가져와 하나의 문자열로 반환
파일 객체.readlines()	파일 내용 전체를 가져와 문자열 리스트 형태로 저장 (10줄짜리 파일을 읽으면 10개의 요소를 갖는 리스트가 됨)

연습문제2)

songwon.txt	read()	readline()	readlines()
110 109 108 107 106 105 104 103 102 101	f = open('songwon.txt','r') d=f.read() print(d)	f = open('songwon.txt','r') d=f.readline() print(d)	f = open('songwon.txt','r') d=f.readlines() print(d)
	결과값	결과값	결과값

실전문제1)

songwon.txt에 있는 값을 오름차순으로 정렬해 보라(sort 키워드 활용)