본문 바로가기
카테고리 없음

[4-3] 파일 읽고 쓰기

by 준보틱스 2024. 6. 30.
파일열기모드 설명
r 읽기 모드 : 파일 읽기만 할 때 사용
w 쓰기 모드 : 파일에 내용을 쓸 때 사용
a 추가 모드 : 파일의 마지막에 새로운 내용을 추가할 때 사용

파일 생성하기

>>> f= open("newfile.txt, 'w')
>>> f.close()

 

위 소스코드를 입력하니 newfile.txt라는 파일이 생성되었다.

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

>>> f = open("newfile.txt", 'w', encoding="UTF-8")
>>> for i in range(1,11):
        data = "%d번째 줄입니다.\n" % i
        f. write(data)
>>> f.close()

파일 읽기 모드

(1) readline을 사용해서 파일의 첫 번째 줄을 읽어 출력
>>> f = open("newfile.txt", 'r', encoding="UTF-8")
>>> line = f.readline()
>>> print(line)
>>> f.close()
1번째 줄입니다.


(2) readline과 while문을 사용해 파일의 여러 줄을 읽어 출력
>>> f = open("newfile.txt", 'r', encoding="UTF-8")
>>> while True:
        line = f.readline()
        if not line: break
        print(line)
>>> f.close()
1번째 줄입니다.

2번째 줄입니다.

3번째 줄입니다.

4번째 줄입니다.

5번째 줄입니다.

6번째 줄입니다.

7번째 줄입니다.

8번째 줄입니다.

9번째 줄입니다.

10번째 줄입니다.

(3) readlines 함수 사용
>>> f = open("newfile.txt", 'r', encoding="UTF-8")
>>> lines = f.readlines()
>>> for line in lines:
        print(line)
>>> f.close()
1번째 줄입니다.

2번째 줄입니다.

3번째 줄입니다.

4번째 줄입니다.

5번째 줄입니다.

6번째 줄입니다.

7번째 줄입니다.

8번째 줄입니다.

9번째 줄입니다.

10번째 줄입니다.

(4) 출력값 사이에 띄어진 줄 줄이는 방법
- (end='') 사용
>>> f = open("newfile.txt", 'r', encoding="UTF-8")
>>> lines = f.readlines()
>>> for line in lines:
        print(line, end='')
>>> f.close()
1번째 줄입니다.
2번째 줄입니다.
3번째 줄입니다.
4번째 줄입니다.
5번째 줄입니다.
6번째 줄입니다.
7번째 줄입니다.
8번째 줄입니다.
9번째 줄입니다.
10번째 줄입니다.

- (.strip='\n') 사용
>>> f = open("newfile.txt", 'r', encoding="UTF-8")
>>> lines = f.readlines()
>>> for line in lines:
        print(line.strip("\n"))
>>> f.close()
1번째 줄입니다.
2번째 줄입니다.
3번째 줄입니다.
4번째 줄입니다.
5번째 줄입니다.
6번째 줄입니다.
7번째 줄입니다.
8번째 줄입니다.
9번째 줄입니다.
10번째 줄입니다.

(5) 전체 출력 한 줄에 출력하기
>>> f = open("newfile.txt", 'r', encoding="UTF-8")
>>> lines = f.readlines()
>>> for line in lines:
        print(line.strip("\n"), end=" ")
>>> f.close()
1번째 줄입니다. 2번째 줄입니다. 3번째 줄입니다. 4번째 줄입니다. 5번째 줄입니다. 6번째 줄입니다. 7번째 줄입니다. 8번째 줄입니다. 9번째 줄입니다. 10번째 줄입니다.

(3) read 함수 사용
>>> f = open("newfile.txt", 'r', encoding="UTF-8")
>>> data = f.read()
>>> print(data)
>>> f.close()
1번째 줄입니다.
2번째 줄입니다.
3번째 줄입니다.
4번째 줄입니다.
5번째 줄입니다.
6번째 줄입니다.
7번째 줄입니다.
8번째 줄입니다.
9번째 줄입니다.
10번째 줄입니다.

파일 추가

- 파일 기존 내용 유지하고 내용 추가하는 방법
>>> f = open("newfile.txt", 'a', encoding="UTF-8")
>>> for i in range(11,20):
        data = "%d번째 줄입니다.\n" % i
        f. write(data)
>>> f.close()

with문과 함께 사용하기

>>> with open("test2.txt", 'w') as f:
        f.write("life is too short, you need soju")