원래 파이썬으로 알고리즘을 풀 때, 직접 입력값을 넣고 하나하나 받아가면서 했지만, 이제 머리 좀 찼으니 멋지게 파일로 받아서 풀어보려고 한다. 그래서 이번 시간에는 파일 생성하기에 대해서 공부해볼려고 한다.
04-3 파일 읽고 쓰기 - 점프 투 파이썬 (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 |
댓글