Coding/Jump to Python

Python - 파일 읽고 쓰기 / readline vs readlines / read / 읽기모드

빈그레 2023. 9. 15. 20:58

 

 


04-3 파일 읽고 쓰기

 

 

 

 

 

파일 생성

 

에디터에 다음과 같이 작성하면, 프로그램을 실행한 디렉토리에 새로운 파일이 생성된다.

파일을 생성하기 위해 파이썬 내장함수인 open을 사용한다. 

 

 

[파일 열기 모드]

 

다음과 같이 파일 객체를 생성할 때, open함수의 입력값으로 파일 이름과, 파일 열기 모드를 받아야한다.

 

 

파일 열기 모드에는 r,w,a, 세가지가 있다. 파일을 읽거나, 내용을 쓰거나, 새로운 내용을 추가할 때 각각 상황에 맞는 열기 모드를 사용하여 open 함수를 통해 파일을 생성하거나 다루 수 있다.

 

 

파일을 쓰기 모드로 열어 출력값 적기

 

 

write함수를 사용하여 file에 data를 작성하는 코드이다. 보통은 값을 에디터 화면에 출력하는 방식을 많이 사용하나 위 예시는 값을 파일 내에 작성해가는 방식으로 구현되었다.

 

 

 

 

프로그램 외부에 저장된 파일을 읽는 방법

 

- readline함수 사용하기

: 파일의 첫번째 줄을 읽어 출력한다.

 

  만약 readline으로 모든 줄을 읽어서 출력하고 싶다면 line이 0이 될 때까지 반복문을 써서 구현할 수 있다.

 

위 코드에서 더이상 읽을 줄이 없어 line이 0이 되면 break가 수행되며 while문이 끝난다.

 

 

 

 

 

-readlines함수 사용하기

: readlines함수는 파일의 모든 줄을 읽어서 각각의 줄을 요소로 갖는 리스트를 만들어준다.

 

 

 

 

-read함수 사용하기

: read함수는 파일의 전체 내용을 문자열로 반환해준다.

 

 

 

 

 

파일에 새로운 내용 추가하기

: 쓰기모드인 w로 파일을 열 때, 그 파일이 이미 존재하는 파일이었다면 그 파일의 내용은 모두 사라지게 된다. 

원래 있던 파일에 새로운 값을 추가해야할 경우에는 추가모드인 a를 사용해야한다.

 

 

위와 같이 파일을 a모드로 열면 wirte함수를 이용해 기존에 가지고 있더 내용 바로 다음부터 값을 적어내려갈 수 있다.