You are on page 1of 30

21.

파일 입출력
1. 파일의 개념
2. 파일 입출력의 개념
3. 파일을 이용한 입력
4. 파일을 이용한 출력
1. 파일의 개념
01. 파일의 개념

◼ 파일(file)이란?
▪ 파일은 컴퓨터를 실행할 때 가장 기본이 되는 단위이다.

▪ 위와 같은 아이콘을 더블클릭하면, 실제로는 아이콘과 연결된 파일이 실행된다.


01. 파일의 개념

◼ 파일(file)이란?
▪ 아이콘에서 마우스 오른쪽 버튼을 클릭하고, 속성을 선택하면 다음과 같은 화면을 볼
수 있다
01. 파일의 개념

파일과 디렉터리

• 파일을 이해하기 위해 파일과 디렉터리에 대해 알아보자. 윈도에서 사용하는 탐색기는 윈도 와 E 키를


함께 누르면 확인할 수 있다. 이것이 기본 파일 시스템이다. 기본적으로 파일 시스템은 파일과 디렉터
리로 구분하는데, 윈도에서는 디렉터리라는 용어 대신 폴더라는 용어를 사용한다.

• 디렉터리는 파일을 담는 또 하나의 파일로, 여러 파일을 포함할 수 있는 그릇이다. 파일과 다른 디렉터


리를 포함할 수 있으므로 직접 프로그램을 실행하지는 않지만, 다른 파일들을 구분하고 논리적인 단위
로 파일을 묶을 수 있다.

• 파일은 컴퓨터에서 정보를 저장하는 가장 작은 논리적인 단위이다. 파일은 일반적으로 파일명과 확장


자로 식별한다. 예를 들어, 파이썬 파일로 저장 관리한 파일들은 py라는 확장자를 가지고 있다. 확장자
는 그 파일의 쓰임을 구분하는 글자로, hwp, ppt, doc 같은 것이다. 파일은 다른 정보를 저장하거나 프
로그램을 실행하거나 다른 프로그램이 실행될 때 필요한 정보를 제공하는 등의 역할을 한다.

• 흔히 탐색기 프로그램에서 파일과 디렉터리는 트리 구조로 표현되는데, 그 이유가 바로 디렉터리와 파


일이 서로 포함 관계를 가지기 때문이다.
01. 파일의 개념

◼ 파일의 종류
• 컴퓨터에서 파일의 종류는 다양하지만, 기본적으로 바이너리 파일(binary file)과 텍스트 파
일(text file), 두 가지로 분류할 수 있다.

[바이너리 파일과 텍스트 파일]


2. 파일 입출력의 개념
02. 파일 입출력의 개념

◼ 파일 입출력의 기본
▪ 표준 입출력
02. 파일 입출력의 개념

◼ 파일 입출력의 기본
▪ 표준 입출력

▪ 파일 입출력 함수
02. 파일 입출력의 개념

◼ 파일 입출력의 기본
▪ 표준 입출력과 파일 입출력 함수
02. 파일 입출력의 개념

◼ 파일 입출력의 기본 과정
▪ 파일 처리의 3단계
02. 파일 입출력의 개념

◼ 파일 처리의 3단계
▪ 1단계 : 파일 열기
02. 파일 입출력의 개념

◼ 파일 처리의 3단계
모드(mode)
▪ 1단계 : 파일 열기 - open() 함수의 마지막 매개변수

[ 모드(mode) ]
02. 파일 입출력의 개념

◼ 파일 처리의 3단계
▪ 2단계 : 파일 처리
02. 파일 입출력의 개념

◼ 파일 처리의 3단계
▪ 3단계 : 파일 닫기 - 1단계에서 open() 함수로 오픈한 파일 변수명으로 닫기
3. 파일을 이용한 입력
03. 파일을 이용한 입력

◼ 파일 입력과 표준 출력
03. 파일을 이용한 입력

◼ 파일 입력과 표준 출력
▪ 파일의 내용을 한 행씩 읽어오기
• readline() 함수 사용
• 파일로 데이터 입력 후 이를 화면에 출력하는 프로그램을 만들어 보자

[ 실행 결과 ]

과목명 : 컴퓨팅적 사고와 프로그래밍


학과 : 신산업융합대학 융합콘텐츠학과
언어 : Python
오늘은 파일 입출력에 대해 배우고 있습니다.
03. 파일을 이용한 입력

◼ 파일 입력과 표준 출력
▪ 파일의 내용을 한 행씩 읽어오기
• readline() 함수 사용
• 파일로 데이터 입력 후 이를 화면에 출력하는 프로그램을 만들어 보자

[ 텍스트 파일 만들기 ] - 메모장 이용(data1.txt)

과목명 : 컴퓨팅적 사고와 프로그래밍


학과 : 신산업융합대학 융합콘텐츠학과
언어 : Python
오늘은 파일 입출력에 대해 배우고 있습니다.
03. 파일을 이용한 입력

◼ 파일 입력과 표준 출력
▪ 파일의 내용을 한 행씩 읽어오기
• readline() 함수 사용
• 파일로 데이터 입력 후 이를 화면에 출력하는 프로그램을 만들어 보자

[ 텍스트 파일 출력 ] - textFile1.py

inFp = open(“C:/Temp/data1.txt”, “r”, encoding=“utf-8”)

6행의 : readline() 함수는 inFp로 열린 파일에서 한 행 읽어 inStr에 저장


7행 : 화면에 출력

이런 처리를 9~10행, 12~13행에서도 반복해 총 3회 수행


03. 파일을 이용한 입력

◼ 파일 입력과 표준 출력
▪ 파일의 내용을 한 행씩 읽어오기
• readline() 함수 사용
• 파일로 데이터 입력 후 이를 화면에 출력하는 프로그램을 만들어 보자

[ 텍스트 파일 출력 ] - textFile1.py

inFp = open(“C:/Temp/data1.txt”, “r”, encoding=“utf-8”)

6~10행 : 무한 반복
7행 : 파일에서 행을 1개 읽음
8행에서 읽어 온 것이 없다면 9행 break로 무한 반복에서 빠져나옴
그렇지 않으면 10행에서 읽어 온 내용 출력
03. 파일을 이용한 입력

◼ 파일 입력과 표준 출력
▪ 파일의 내용을 한 번에 모두 읽어오기
• readlines() 함수 사용
• 파일의 내용을 통째로 읽어서 리스트 형태로 저장

한글인 경우에는 encoding 속성 지정

inFp = open(“C:/Temp/data1.txt”, “r”, encoding=“utf-8”)

6행 : 한 번에 읽어서 inList에 저장

• 한 행씩 출력
03. 파일을 이용한 입력
4. 파일을 이용한 출력
04. 파일을 이용한 파일 출력

◼ 파일을 이용한 출력
▪ 출력 결과를 파일에 저장하는 방식
▪ 파일에 내용을 쓸 때는 write()나 writelines() 함수 사용
04. 파일을 이용한 파일 출력

◼ 파일을 이용한 출력
▪ 입력된 내용을 한 행씩 파일에 쓰기(textFile2.py)
• 키보드에서 입력한 내용을 한 행씩 파일에 쓰는 프로그램을 작성해 보자

4행 : 파일을 열 때 쓰기 모드인 w 사용
6~11행 : 무한 반복
7행 : 파일에 쓸 내용을 입력
8행 : 입력한 글자가 비어 있지 않으면 9행에서 입력한
내용을 파일에 씀, 입력한 글자가 비어 있다면
10~11행에서 무한 반복 종료

9행 : outStr만 파일에 쓴다면 여러 줄을 써도 줄바꿈 되지


않고 한 줄에 이어서 써짐. 이를 방지하려고 행을
넘기는 \n을 함께 사용
13행 : 파일 닫기
14행 : 메시지 출력
04. 파일을 이용한 파일 출력

◼ 파일을 이용한 출력
▪ 파일을 읽어 다른 파일에 쓰기(textFile3.py)
• copy 명령처럼 파일을 복사하는 프로그램을 구현해 보자
04. 파일을 이용한 파일 출력

◼ 파일을 이용한 출력
▪ 파일을 읽어 다른 파일에 쓰기
• copy 명령처럼 파일을 복사하는 프로그램을 구현해 보자

4~5행 : 읽기 모드 및 쓰기 모드로 파일 열기
7행 : 파일의 내용을 통째로 읽기
8~9행 : 내용을 쓰기 파일에 쓰기
11~12행 : 파일 닫기
실습

◼ 파일 읽고 쓰기
▪ 파일 안에 있는 점수를 읽어 다른 파일에 결과 쓰기
• 아래와 같이 전체 10개의 점수가 있는 파일 sample.txt 파일을 만든다.
• sample.txt 파일을 모두 읽어 총합과 평균을 구한다.
• 총합과 평균을 result.txt 파일에 쓰는 프로그램을 작성해 보자.

<sample.txt> <result.txt>
70 total = 790, average = 79.0
60
55
75
95
90
80
80
85
100

You might also like