. 파일을 열고 읽어보자
본문 바로가기
프로그래밍 공부/파이떤

파일을 열고 읽어보자

by 불냥이_ 2021. 4. 19.

 

 원래 파이썬으로 알고리즘을 풀 때, 직접 입력값을 넣고 하나하나 받아가면서 했지만, 이제 머리 좀 찼으니 멋지게 파일로 받아서 풀어보려고 한다. 그래서 이번 시간에는 파일 생성하기에 대해서 공부해볼려고 한다.

 

 

 

04-3 파일 읽고 쓰기 - 점프 투 파이썬 (wikidocs.net)

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 윗 글에서 보고 배웠다.

 

 파이썬의 open 함수에는 3가지 기능이 있다.

파일 열기 모드 설명
r 파일을 읽기만 할 때 :: 읽기만 가능
w 파일에 쓸 때 :: 기존에 내용이 있어도 다 날리고 새로 씀
a 추가 모드 :: 기존 파일 뒤에 덧붙인다.

 여기서 주의해야 할 것은 'w' (귀여운 이모티콘 아님. w임) 일 때, 기존에 내용이 있어도 다 날리고 새롭게 써버린다는 것이다. 

 

 그런데 솔직히 'w'나 'a'는 관심 없으니 r에 대해서만, 알아보겠다.

 

readline()

 이 함수는 open하고 처음부터 한 줄씩 읽는 것이다.

그런데 이 함수는 for문이나 while문을 활용하고, 끝 부분을 예외처리 해줘서 for/while문을 끝내야하는 안 멋진 방법이다. 그래서 별로 쓰고싶진 않다.  걍 readline이 갓갓이에요. readline쓰세요. 

 

readlines()

 이 함수는 모든 줄을 읽어서, 각 줄을 요소로 갖는 리스트를 만든다. 이게 멋진 방법이 아닐까. 응 아니야. 그냥 for문만 쓰면 되는것이다.

 

 그런데 문제가 하나 있다.

 

 이 방법을 사용하면, 리스트 마지막에 \n이 자동으로 들어가있다는 것이다 (당연한 것이지만). 

 

read()

 파일 내용 전체를 문자열로 돌려준다고 한다.

 

그래서 이 방법이 좋을 것 같다.

 

read()로 읽고, splitlines()를 덧붙여주는 것이다.

 

b = open("a.txt","r")
c = b.read().splitlines()

 이러면 c는 \n 을 뺀 각 줄을 스트링으로 만든 요소를 리스트로 저장한 것이 된다. 

 

 

 

'프로그래밍 공부 > 파이떤' 카테고리의 다른 글

힙(heap) 구조 만들기  (0) 2020.12.21
Stack 만들기 (Class에 관하여)  (0) 2020.12.19

댓글