파이썬내부에서 외부 파일을 제어하는 방법에 대해 알아보자.
콘솔 입출력
-
- 입력
- input( "커맨트" )
-
- 출력
- print( "커맨트" )
파일 입출력
▶ 파일 객체 생성
파일 객체는 'open("파일경로", "모드")'를 통하여 생성할 수 있다.
- 모드?
모드는 읽기모드('r'), 쓰기모드('w'), 덧붙임모드('a') 등이 있음으로 파일의 사용 목적에 따라 다르게 생성 해야한다. 또한 파일을 텍스트('t')로 다룰 지 바이너리 모드('b')로 다룰 지도 추가적으로 선택할 수 있다. 디폴트는 읽기/ 텍스트모드('wb')이다.
▶ 파일 읽기
'파일객체.readline()'를 하게 되면 파일에 한 줄을 읽어 들여 문자열로 반환한다.
이를 반복문을 통해 읽어 들인 문자열의 길이가 0일 경우 break를 걸어 탈출시킨다.
-
- 객체.readlines()
- 모든 라인을 읽어 들여 리스트로 반환
-
- 객체.read()
- 파일 전체의 내용을 하나의 문자열로 리턴
▶ 파일 쓰기
'객체.write("문자열")'을 하게 되면 해당 파일 객체로 글을 쓸 수 있다.
▶ 파일 닫기
'객체.close()'
▶ 경로
경로가 ‘/’로 시작되는 경우 절대경로이며, 해당 기기의 root경로에서 부터 찾아가고,
‘/’로 시작하지 않을경우 상대경로로 현재 파일에서 부터 찾아간다.
pickle
문자열 뿐만 아닌 객체데이터 또한 외부 파일로 읽고 쓰기 위해 사용하는 파이썬 기본 제공 모듈
( import pickle 가 필요하다. )
▶ pickling(피클링)
pickle모듈을 이용하여 객체를 외부 파일로 쓰기(write)할 때 사용되는 과정으로, 객체를 파일에 쓰기 위해서는 wb모드로 열어주어야 한다.
피클링 하기위해 pickle모듈의 'dump(데이터,파일객체)'를 이용하여 객체를 해당 파일로 쓰기한다.
▶ unpickling(언피클링)
pickle 모듈을 이용하여 객체를 외부 파일로부터 읽기(load)할 때 사용되는 과정으로, 객체를 파일로부터 읽기위해서는 rb모드로 열어주어야 하며 언피클링 하기 위해 'pickle.load(파일객체)'를 사용한다.
유니코드
영어가 아닌 다른 언어를 입/출력 할 때 사용하는 문자 인코딩 방식
( 영어는 str타입이고, 다른 언어는 unicode 타입 )
io객체의 open메서드 세 번째 인자로 위 처럼 문자 인코딩 방식을 지정해 줄 수 있다. 또한 유니코드 문자열을 입력할 때는 문자열 앞에 u표기를 해준다.