텍스트 파일 [Text File] |
문자를 기반으로 하는 코드 값이 저장된 파일 텍스트 에디터로 열었을 때 읽을 수 있는 데이터[사람이 쉽게 읽을 수 있음] 큰 용량을 차지 |
바이너리 파일 [Binary File] |
사용자 또는 프로그램이 사용하던 정보나 숫자 값을 특별한 가공없이 그대로 파일에 저장 글자가 아닌 비트 단위로 의미가 있는 파일 jpg, png,mp2,exe 등의 파일 확장자가 바이너리 파일에 속함 텍스트 에디터로 열었을 때 의미를 이해할 수 없는 데이터[사람이 쉽게 읽을 수 없음] 적은 용량을 차지 |
#인코딩[Encoding]과 디코딩[Decoding]
Encoding | 바이너리[텍스트] 데이터를 텍스트[바이너리] 데이터로 변환해주는 것 |
Decoding | Encoding된 데이터를 반대로 돌리는 것 |
파일 객체 = open(문자열: 파일경로, 문자열: "파일 열기 모드")
모 드 종 류 | 설 명 |
생략 | r과 동일 |
r | read 모드(읽기 모드) |
r+ | 읽기/쓰기 겸용 |
w | write 모드(새로 쓰기 모드) |
a | append 모드(뒤에 이어서 쓰기 모드) |
t | 텍스트 파일을 처리.(기본값) |
b | 바이너리 파일 처리 |
파일 객체.read(문자열) | 파일에 텍스트를 읽기 위해 사용하는 함수 |
파일 객체.readline( ) | 파일의 내용을 한 행씩 읽어올 때 사용하는 함수 |
파일 객체.readlines( ) | 파일의 내용 전체를 읽어서 리스트에 저장하는 함수 |
파일 객체.write(문자열) | 파일에 텍스트를 쓰기 위해 사용하는 함수 |
파일 객체.writelines(리스트) | 파일에 리스트를 쓰기 위해 사용하는 함수 일반적으로 반복문과 함께 사용해 리스트를 형성 |
#CSV[Comma Separated Values]
쉼표로 구분된 값으로 한줄에 하나의 데이터를 나타냄
첫번째 줄에 헤더[header]를 넣어 각 데이터가 무엇을 나타내는지 설명해 줄 수 있음
많은 데이터를 한 줄씩 읽어들일 때는 for 반복문 사용
for 한줄을 나타낸는 문자열 in 파일객체 :
처리
파일 객체.close()
with open(문자열:파일경로, 문자열:모드) as 파일 객체:
문장
프로그램이 길어지면 open( )함수와 close( )함수 사이에 많은 코드가 들어감
조건문과 반복문이 들어가다 보면 파일을 열고 닫지 않는 실수를 할 수 있는데 이를 방지하기 위해 with 키워드 사용
with 키워드를 사용할 경우, 문장이 끝나면 파일이 자동으로 닫김
파일이름을 모듈과 같은 이름으로 저장한 뒤, 모듈을 실행을 하면 TypeError가 발생하므로 모듈과 같은 이름으로 파일을 저장하지 않는다.
아직 모듈에 대해 배우지 않았기 때문에 바이너리 파일과 텍스트 파일을 읽고 쓰는 방식에 초점을 맞추시면 좋을 것 같습니다.
[개미의 걸음 Python 28차시] 사용자 정의 모듈과 패키지 with __name__ (0) | 2020.07.28 |
---|---|
[개미의 걸음 Python 27차시] 모듈의 이해 with 라이브러리, 프레임워크 (0) | 2020.07.27 |
[개미의 걸음 Python 25차시] 람다(Lambda) with filter(), map() (0) | 2020.07.25 |
[개미의 걸음 Python 24차시] 재귀함수와 ★메모화★ with 팩토리얼, 피보나치 수열 (0) | 2020.07.24 |
[개미의 걸음 Python 23차시] 내장함수와 사용자 정의 함수(return, 조기리턴, 매개변수) (0) | 2020.07.23 |
댓글 영역