Information Security

File 본문

Python

File

leeeeye321 2017. 3. 29. 17:46

File

-컴퓨터 등의 정보 기기에서 정보를 담아 놓은 논리적인 단위이다.

-파일은 저장되는 정보에 따라서 크게 텍스트, 바이너리 파일로 분류한다.

-텍스트 파일은 아스키코드나 유니코드로 저장하여 우리가 쉽게 읽을 수 있는 파일이다.

-바이너리 파일은 2진 데이터로 저장되어 있다. 우리가 읽기 어렵다.

-파일은 저장하는 정보나 성격에 따라서 여러 가지 특징을 가진다.

ex) jpg, png, exe, com, dll...

-운영체제에서는 저장 매체에서 파일을 관리하기 위한 파일 시스템을 가지고 있다.

ex) FAT, FAT32, NTFS, EXT2, EXT3...

 

파이썬에서의 파일 처리

-파일 처리를 하기 위해서는 open/close 과정이 필요하다.

 

File Open: 파일을 연다. 파일 내부에 접근하여 읽기, 쓰기 등 동작을 수행한다.

파일 객체 = open(파일 이름, 모드) 

<파일 모드: 어떠한 작업을 하기 위하여 open 하는지 결정>

파일 열기 모드 

 설명

 r / rb

 읽기 모드, 파일을 읽기만 할 때 사용(rb는 바이너리 파일)

 r+ / rb+ 

 읽기 모드, 파일을 읽고 쓸 경우 사용(rb+는 바이너리 파일) 

 w / wb

 쓰기 모드, 파일에 내용을 쓸 때 사용. 파일이 존재하지 않는 경우 새로  만듦(wb는 바이너리 파일)

 w+ / wb+

 쓰기 모드, 파일을 읽고 쓸 경우 사용. 파일이 존재하지 않는 경우 새로 만듦(wb+는 바이너리 파일)  

 a / ab

 추가 모드, 파일의 마지막에 새로운 내용을 추가할 때 사용. 파일이 존재하지 않는 경우 새로 만듦

 a+ / ab+

 추가 모드, 파일의 마지막에 새로운 내용을 추가하거나, 읽기 위해 사용. 파일이 존재하지 않는 경우 새로  만듦

-파일을 만들 때는 파일 모드를 'w'나 'a'로 한다.

-'w': 기존 파일이 존재하는 경우 원래 내용을 지우고 새로 만든다.

-'a': 기존 파일의 마지막에 내용을 추가한다.

-'w' 모드로 파일을 열어 test.txt 파일이 생성되었다.

 

파일에 내용 쓰기('w' 모드)

-파일을 열어서 내용을 추가하기 위해서 write 함수를 사용한다.

 

파일 처리 예제: 구구단 2단 저장하는 파일 만들기

 

파일에 내용 추가하기('a' 모드)

-구구단 파일에서 모드를 'a'로 바꾸고 3단을 출력하도록 변경했다.

-원래 파일 내용에서 마지막에 새로 3단이 추가되었다.

 

파일 처리 예제: 사용자가 입력한 내용을 파일에 계속 추가하는 프로그램 만들기

1. 이렇게 작성하고 실행시킨다.

2. 내용을 입력한다.

3. 생성된 파일을 확인한다. 내가 입력한 내용이 추가되어 있다.

4. 다시 실행시키고, 내용을 또 입력한다.

5. 내가 입력한 내용이 또 추가되었다.

 

파일 읽기('r' 모드)

1. 파일의 내용을 한 줄씩 읽기 위해서는 readline() 함수를 사용한다.

 

2. 파일의 내용을 한꺼번에 읽기 위해서는 readlines() 함수를 사용한다.

 

3. read() 함수 사용

-read() 함수는 읽는 데이터의 수를 지정할 수 있다.

 

tell(): read를 통하여 이 파일의 어디까지 읽었는지 저장해 놓기 때문에 현재 읽히는 위치를 알 수 있다.

 

seek(): 파일의 읽는 위치를 변경할 때 사용한다. 

 

★with: 파일을 open 하는 경우 마지막에 close를 해줘야 한다. with 구문을 사용하면 close를 자동으로 처리한다.

 

★★

 

파일 예제: 메모장 만들기

<메뉴>

a: 메모 추가

r: 메모 내용 출력

q: 종료

 

 

'Python' 카테고리의 다른 글

내장 함수  (0) 2017.03.31
예외 처리  (0) 2017.03.30
Module  (0) 2017.03.28
Class  (0) 2017.03.24
입/출력  (0) 2017.03.22