파일열기모드 | 설명 |
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")