+ 파일에 새로운 내용 추가 (a 또는 w)pycharm에서 입력 세팅을 하다보면
import sys
input = sys.stdin.readline 을 입력할 때, readlines가 함께 뜬다. 내 코드로 테스트할 때는 동일한 결과가 나왔는데, 사실 readlines는 말그대로 s 복수의 줄을 읽어올 때 사용하는 것이었다.
readlines 함수는 파일의 모든 줄을 읽어서 각각의 줄을 요소로 갖는 리스트로 돌려준다. _ 점프 투 파이썬
그러나, 백준에서는 입력 방식이 다르기 때문에 전체 입력값을 읽어오는 readlines를 그대로 사용할 경우 에러가 난다고 한다. 따라서 입력을 여러줄 해야 하는 경우에는, readline 단행으로 읽고 반복문을 돌리는 것이 좋다.
+ 프로그램의 외부에 저장된 파일을 읽기
f = open('input.text', 'r') # 파일을 읽기모드로 열기
line = f.readline() # 파일의 첫 줄 가져오기
# readline, readlines, read 함수 모두 읽는 함수이다. 단행이냐 전체냐 디테일의 차이가 있다.
+ 개행문자 제거하기(readline, readlines 사용시 오류를 일으킬 수 있음)
line = f.readlines()
for l in lines:
l = l.strip() # 또는 rstrip()
+ 파일에 새로운 내용 추가 (a 또는 w)
f = open('input.txt', 'a') # add '추가하겠다' 모드 // w로 쓰면 write '쓰겠다' 모드
f.write('추가된 내용')
# f.close() # 파일 닫기
+ with구문
파일을 열면 f.close()를 해주는 것이 좋은데, 이를 자동으로 처리하기 위해 with문을 사용하기도 한다.
with open('input.txt', 'w') as f:
f.write('Programming is my joy')
* 연관 게시글
* 참고
'⚡️algorithm' 카테고리의 다른 글
[그래프, DFS] 백준 9466. 팀정하기 (0) | 2022.04.14 |
---|---|
[그리디] 큰 수 만들기 (feat. stack, list[:-m]) (0) | 2022.04.12 |
[boj 10610] sys.stdin.readline , input 에러 (0) | 2022.04.07 |
그리디 알고리즘(Greedy Algorithm) (0) | 2022.04.06 |
이분탐색과 업앤다운 게임 (0) | 2022.03.13 |