Download presentation
Presentation is loading. Please wait.
1
Files and Exceptions Byoungjun Kim (bjkim@archi.snu.ac.kr)
Ansu School of Computer Science and Engineering Seoul National University 1
2
정의 파일(File) 파일은 논리적 레코드가 모여서 이루어진 정보처리 목적상 하나의 단위로 취급하는 관련 데이터 기록의 집합으로서 오퍼레이팅(Operating) 시스템이 관리하는 데이터 세트를 사용하여 작성한다. 프로그램이나 컴퓨터가 끝나도 영속적으로 저장하기 위해 데이터를 넣는 공간 보통 하드디스크나 SSD등의 저장장치에 저장됨
3
정의 디렉터리(Directory) 파일 이름과 그 파일이 실제로 기억되어 있는 물리적인 장소와의 대응을 나타내는 표. 운영 체계(OS)에 의해서 관리된다. 파일의 이름, 속성, 작성 일자, 크기, 기억 장소 등이 기록되어 있으며 파일의 판독과 기록은 이것을 통해서 한다. 각 디렉터리에는 부 디렉터리 또는 파일을 격납할 수 있다. 많은 수의 파일을 효과적으로 분류하기 위해 나누어 저장하는 공간 파일 이름과 함께 파일을 분류하는 데에 이용
4
작업 순서 File open File read/write File close
5
파일 열기 Open function 지정된 파일을 엶 두 개의 argument를 받음 파일이 없을 경우 파일 생성
파일의 맨 앞에 현재 위치를 알려주는 포인터 생성 두 개의 argument를 받음 파일 이름, 읽기/쓰기 모드(“w” or “r”) ex) open(“test.dat”, “w”) 읽기 모드는 읽는 작업을 위해서 파일을 여는 것을 의미함 쓰기 모드는 쓰는 작업을 위해서 파일을 여는 것을 의미함 파일이 없을 경우 파일 생성 쓰기 모드? 읽기 모드? 작업한 파일과 같은 디렉터리에 해당 파일을 생성
6
파일 생성하기 실습 (“w” mode)
7
파일 생성하기 실습 (“r” mode)
8
파일 쓰기 Write method 쓰기 모드로 파일을 열 시에 사용 가능함 열린 파일에 해당 문자열이 입력됨
f = open(“testfile.dat, “w”) 열린 파일에 해당 문자열이 입력됨 f.write(“Spring is coming”) 다음 문자열을 입력 시 이어서 쓰여짐 f.write(“ and summer is coming”) Spring is coming Spring is coming and summer is coming
9
파일 읽기 Read method 읽기 모드로 파일을 열 시에 사용 가능함 파일 전체에 쓰여진 내용을 읽음
f = open(“testfile.dat”, “r”) 파일 전체에 쓰여진 내용을 읽음 f.read() 정수를 argument로 받으면 정수만큼의 문자열만 읽음 f.read(5) f.read(10000) Spring is coming Spring is coming and summer is coming
10
파일 닫기 Close method 쓰기/읽기 모드 시 파일을 닫고 포인터를 회수 f.close()
Spring is coming Spring is coming and summer is coming
11
파일 쓰기/읽기/닫기 실습 11
12
파일 쓰기/읽기/닫기 실습 Spring is coming
13
파일 쓰기/읽기/닫기 실습 Spring is coming Spring is coming and summer is coming
14
파일 쓰기/읽기/닫기 실습 Spring is coming and summer is coming Spring is coming
14
15
파일 쓰기/읽기/닫기 실습 Spring is coming Spring is coming and summer is coming
15 15
16
파일 쓰기/읽기/닫기 실습 Spring is coming Spring is coming and summer is coming
16 16 16
17
파일 쓰기/읽기/닫기 실습 Spring is coming Spring is coming and summer is coming
17 17 17
18
파일 쓰기/읽기/닫기 실습 Spring is coming Spring is coming and summer is coming
19
파일 쓰기/읽기/닫기 실습 Spring is coming Spring is coming and summer is coming
20
파일 쓰기/읽기/닫기 실습 Spring is coming Spring is coming and summer is coming
21
파일 쓰기/읽기/닫기 실습 Spring is coming Spring is coming and summer is coming
22
파일 쓰기/읽기/닫기 실습 Spring is coming Spring is coming and summer is coming
23
파일 쓰기/읽기/닫기 실습 Spring is coming Spring is coming and summer is coming
24
그 외 Method들 Readline Method Readlines Method 현재 포인터로부터 한 줄을 읽음
f.readline() Readlines Method 현재 포인터로부터 남은 부분을 읽음 f.readlines() 리스트의 형태로 반환됨 리스트의 각 인자는 파일의 각 줄로 구성됨
25
Readline / Readlines Method 실습
Spring is coming\n summer is coming\n fall is coming\n winter is coming 25
26
Readline / Readlines Method 실습
Spring is coming\n summer is coming\n fall is coming\n winter is coming 26
27
Readline / Readlines Method 실습
Spring is coming\n summer is coming\n fall is coming\n winter is coming 27
28
Readline / Readlines Method 실습
Spring is coming\n summer is coming\n fall is coming\n winter is coming 28
29
Readline / Readlines Method 실습
Spring is coming\n summer is coming\n fall is coming\n winter is coming 29
30
Format operator “%” 파일에 쓰이는 값은 문자열 쓰고자 하는 값을 문자열 형식으로 바꿔 주어야함
파일에 쓰이는 값은 문자열 쓰고자 하는 값을 문자열 형식으로 바꿔 주어야함 str function을 이용 ex) f.write(str(4)), f.write(str([1,2,3])) Format operator “%” 첫 번째 피연산자 : format string을 포함하고 있는 문자열 ex) %d(decimal integer), %f(float), %s(string) 두 번째 피연산자 : tuple 기능 : 첫 번째 피연산자 안의 format string에 두 번째 피연산자 값을 넣어줌 결과값 : 문자열
31
% operator 실습 print “%d” %4 print “%f” %4.1 print “%s” %“spring”
print “%d %f %s” %(6, 7.0, “summer”) print “There are %d people” %32 numOfPeople = 22 print “There are %d people” %numOfPeople forWhat = “soccer” print “There are %d people for playing %s.” %(numOfPeople,forWhat) f.write(“%d” %77)
32
% operator 실습
33
% operator 실습
34
% operator 심화 print “%6d” %77 print “%-6d” %77 총 6개의 칸으로 표현됨
숫자가 6개가 되지 않으면 빈 숫자만큼 앞으로 비워둠 “ 77” print “%-6d” %77 숫자가 6개가 되지 않으면 빈 숫자만큼 뒤로 비워둠 “77 ”
35
% operator 심화 print “%12f” %11.7 print “%12.2f” %11.7
총 12개의 칸으로 표현됨 소수점은 특별한 언급이 없으면 6자리까지 표현됨 “ ” print “%12.2f” %11.7 그 중 소수점은 2칸이 할애됨 “ ” print %.1f” %11.7 전체 크기는 신경 쓰지 않고 소수점 아래로 한 자리만 할애 “11.7”
36
% operator 심화 실습
37
경로를 통한 파일 열기 다른 경로에 있는 파일 열기
Open 함수의 첫 번째 argument에 경로를 주면 지정된 경로에 있는 파일을 염 open(“c:/Python27/Lib/hotshot/test.dat”, “w”)
Similar presentations