Information Security
File 본문
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: 종료 |