728x90
목차
1. 파이썬의 파일 입출력
- 파일 열기
- 파일 열기
- 파일 경로
- 파일 읽어오기
- with 문
- readline() 메소드
- readlines() 메소드
- 인코딩과 디코딩
- 인코딩
- 디코딩
21.파일 입출력.ipynb
1.파일 열기
- 파일을 만들던지, 수정하던지 일단 무조건 파일을 먼저 열어야함
파일변수 = open('파일이름'.'파일 열기 모드 및 종류모드')
- 파일 열기 모드
- w 출력
- r 입력
- a 추가출력
- w는 지정된 경로에 파일이 없으면, 파일을 만든후 저장하고, 파알이 있으면 기존의데이터를 지우고 다시 저장
- r은 지정된 경로에 파일이 없으면 에러, 있으면 해당 파일의 데이터를 읽어옴
- a는 지정된 경로에 파일이 없으면 파일을 만든 후 저장하고, 파일이 있으면 기존의 데이터 뒤에 이어서 저장
- 파일 종류 모드
- t(텍스트 파일): 생략가능, 우리가 볼수 있는 글을 적은 파일
- b(바이너리파일): 2진으로 저장되어 컴퓨터만 알아볼수 있는 파일 예)영상, 음악, 소리...
input = open('text.txt', 'r') #텍스트파일 열기 모드(t생략)
input = open('text.txt', 'rt') #텍스트파일 열기 모드
input = open('apple.jpg', 'rb') #바이너리 파일 열기 모드
- 💢 파일을 출력할때 작업이 모두 완료되면 반드시 .close()메소드를 사용해서 파일을 닫아야 정상적으로 데이터가 저장 된다.
//스트림이라는 os한테 힘을 빌려 저장한다. 파이썬에서 입력 받은 파일을 os에게 전달 하고 파일을 만들때 결국 파일을 만드는건 os가 만들어주게 된다.
//파이썬이 내용을 가져오고 싶을땐 : os에한테 경로주소만 넘겨주면 os가 확인후에 파이썬에게 스트림을 통해 내용을 열어 전달 해준다.
1-1.파일 열기
- 예제)
1-2.파일 경로
- 절대 경로 / 상대 경로
- 절대경로: 디스크 드라이브의 최상위(root) 디렉토리부터 파일이 저장 또는 읽어올 디렉터리까지의 경로 예) C:\na\python\Day1 #역슬러시()는 시스템에 따라 못 불러 올수 있어 보통 슬러시(/)를 많이 사용된다.
- 상대경로: 현재 화면에 표시되는 소스파일이 위치한 디렉토리부터 파일이 저장 또는 읽어올 디렉토리까지의 경로
- 같은 디렉토리: 파일명 또는 ./파일명
- 상위 디렉토리: ../파일명 또는 ./../파일명
- 하위 디렉토리: 디렉토리명/파일명 또는 ./디렉토리명/파일명
- 예제) 파일명에 경로를 입력
1-3.파일 읽어오기
- read() 메소드 : 파일로부터 전체 데이터를 읽어옴
- read(size) 10 만큼 읽어 옴
1-4.with 문
- 자원을 획득하고 사용 후 반납해야 하는 경우 블록으로 사용하는 문장
- with 문 안으로 집어 넣으면 별명을 사용해서 사용가능 하며 close()도 사용해줄필요 없다.
with open('파일이름'.'파일 열기 모드 및 종류모드') as '별명':
소스코드
사용법 -> f.write(data +'\n')
1-5.readline() 메소드
- 텍스트파일을 한줄씩 읽어서 처리
- 파일이 종료되어 더이상 읽을수 없으면 빈 문자열 ''을 읽어온다.
1-5.readlines() 메소드
2.인코딩과 디코딩
- 사용하는 이유
- 모든 컴퓨터는 기본적으로 바이트 계산을 하기때문에 데이터를 전송할때 받아올때 쓰인다.
- 시스템의 데이터를 주고 받을때 많이 쓰인다 !!!
2-1.인코딩
- 컴퓨터에서 사람이 인지할 수 있는 형태의 데이터를 약속된 규칙에 의해 컴퓨터가 사용하는 0과 1로 변환하는 과정
- 인코딩 = 코드화 = 암호화 = 부호화
- 예) 아스키코드 인코딩, URL 인코딩, Base64 인코딩, 유니코드 인코딩, ...
- 파이썬은 유니코드 인코딩을 사용한다.
- (https://home.unicode.org/) 유니코드 공식사이트
2-2.디코딩
- 사람이 이해할 수 있는 언어로 되돌리는 것
- 디코딩 = 역코드화 = 복호화
- (https://checkserp.com/encode/unicode/) 유니코드로 되어있는 값을 인코딩해줌
728x90
'개발 > 파이썬' 카테고리의 다른 글
23.03.13파이썬의 변수타입 어노테이션 (1) | 2023.03.13 |
---|---|
23.03.13 파이썬의 클로저, 데코레이터 (0) | 2023.03.13 |
23.03.13파이썬 예외처리 (0) | 2023.03.13 |
23.03.10파이썬 모듈 (1) | 2023.03.10 |
23.03.10파이썬 상속, 스페셜메소드 (0) | 2023.03.10 |
댓글