<파일 입출력>
#파일은 os에 저장되고 스트림을 통해 이동됨
1. 파일열기
파일변수 = open('파일이름', ' 파일 열기 모드 및 종류모드')
- 파일 열기 모드: w(출력), r(입력), a(추가출력)
- w는 지정된 경로에 파일이 없으면 파일을 만든 후 저장하고, 파일이 있으면 기존의 모든 데이터를 지우고 다시 저장
- r 은 지정된 경로에 파일이 없으면 에러, 있으면 해당 파일의 데이터를 읽어옴
- w 는 지정된 경로에 파일이 없으면 파일을 만든 후에 저장하고, 파일이 있음면 기존의 데이터 뒤에 이어서 저장
- 파일 종류 모드: t(텍스트 파일, 생략가능), b(바이너리 파일_영상 소리 등),
input = open('text.txt', 'r') # 텍스트파일 열기 모드
input = open('txt.txt', 'rt') # 텍스트파일 열기 모드
input = open('apple.jpg', 'rb') # 바이너리 파일 열기 모드
❤ 파일을 출력할 때 작업이 모두 완료되면 반드시 close() 메소드를 사용해서 파일을 닫아야 정상적으로 데이터가 저장됨
1-1. 파일 저장하기
1-2. 파일 경로
- 절대 경로: 디스크 드라이브의 최상위(root) 디렉토리부터 파일이 저장 또는 읽어올 디렉토리까지의 경로 예) C:/Sungmin_program/python/day2/data.txt
- 상대 경로: 현재 화면에 표시되는 소스파일이 위치한 디렉토리부터 파일이 저장 또는 읽어올 디렉토리까지의 경로
- 같은 디렉토리: 파일명 OR ./파일명
- 상위 디렉토리: ../파일명 OR ./../파일명
- 하위 디렉토리: 디렉토리명/파일명
1-3. 파일 읽어오기
- read(): 파일로부터 데이터를 읽어옴
- read(size): 파일로부터 사이즈만큼 데이터를 읽어옴
문제
키보드로 데이터를 입력하고, 텍스트 파일에 저장하는 프로그램을 작성해보자. (단, 'quit'가 입력되면 저장을 끝내고 프로그램을 종료하자)
- 단어를 입력하세요: dpple
- 단어를 입력하세요: banana
- 단어를 입력하세요: orange ...
- 단어를 입력하세요: quit 저장되었습니다.
1-4. with 문
- 자원을 획득하고 사용 후 반납해야 하는 경우 블록으로 사용하는 문장
1-5. readline()
- 텍스트 파일을 한 줄씩 읽어서 처리
- 파일이 종료되어 더 이상 읽을 수 없으면 빈 문자열 ' '을 읽어옴
1-6. readlines()
- 전체라인을 모두 읽어서 각 라인단위로 리스트에 raw string으로 저장
2-1. 인코딩(Encoding)
- 컴퓨터에서 사람이 인지할 수 있는 형태의 데이터를 약속된 규칙에 의해 컴퓨터가 사용하는 0과 1로 변환하는 과정
- 인코딩 = 코드화 = 암호화 = 부호화
- 예) 아스키코드 인코딩, URL 인코딩, Base64인코딩, 유니코드 인코딩 ...
- 유니코드 https://home.unicode.org/
2-2. 디코딩(Decoding)
Unicode Converter, Unicode Encoding and Decoder
Online Unicode converter, easy to use unicode encoding and decoder tool. Convert plain text to unicode codes and vice versa.
checkserp.com