36. 파이썬 – 파일 읽기.내용 추가하기

  • 네이버 블로그 공유하기
  • 카카오톡 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기

지난 포스팅에 이어서 파이썬 파일 읽기와 파일에 내용 추가하기 에 대해 공부해 보겠습니다.

파이썬 입출력

파일 읽고 쓰기

파일을 읽는 여러가지 방법

줄바꿈 문자(\n) 제거하는 방법

파일을 읽어 올 때 줄 끝에 줄 바꿈 문자(엔터값 또는 개행값이라고 합니다) \n 를 제거해야 할 경우가 종종 생깁니다.
다음 코드는 줄 바꿈 문자가 있는 상태에서 그냥 출력해 본 코드입니다.

Python
file = open(r"d:\test\신규파일.txt", 'r')
lines = file.readlines()
for line in lines:
    print(line)
file.close()

결과를 보면 줄 바꿈 문자로 인해 줄 사이에 한 줄씩 비어 있는 것이 보입니다

Python
1 번째 줄 입니다.

2 번째 줄 입니다.

3 번째 줄 입니다.

4 번째 줄 입니다.

5 번째 줄 입니다.

6 번째 줄 입니다.

7 번째 줄 입니다.

8 번째 줄 입니다.

9 번째 줄 입니다.

10 번째 줄 입니다.

다음 코드처럼 strip 함수를 사용해서 줄 바꿈 문자를 제거 해보겠습니다

Python
file = open(r"d:\test\신규파일.txt", 'r')
lines = file.readlines()
for line in lines:
    line = line.strip() # 줄 끝의 줄 바꿈 문자를 제거합니다.
    print(line)
file.close()

줄 바꿈 문자가 제거되어 빈줄 없이 출력이 되었습니다.
그냥 보기에도 확실히 위의 예 보다는 보기가 훨씬 좋습니다.

Python
1 번째 줄 입니다.
2 번째 줄 입니다.
3 번째 줄 입니다.
4 번째 줄 입니다.
5 번째 줄 입니다.
6 번째 줄 입니다.
7 번째 줄 입니다.
8 번째 줄 입니다.
9 번째 줄 입니다.
10 번째 줄 입니다.
read 함수 사용하기

앞에 포스팅에서 readline 과 readlines 함수를 사용 해봤는데 이번에는 read 함수를 사용해 보겠습니다.

Python
file = open(r"d:\test\신규파일.txt", 'r')
file_view = file.read()
print(file_view)
file.close

아래 결과 처럼 read 함수는 파일 전체 내용을 문자열로 리턴하게 됩니다.
결국 아래 결과가 신규파일.txt 의 전체 내용이라고 보시면 됩니다.

Python
1 번째 줄 입니다.
2 번째 줄 입니다.
3 번째 줄 입니다.
4 번째 줄 입니다.
5 번째 줄 입니다.
6 번째 줄 입니다.
7 번째 줄 입니다.
8 번째 줄 입니다.
9 번째 줄 입니다.
10 번째 줄 입니다.
파일 객체를 for 문과 함께 사용

파일 객체를 for 문과 함께 사용하는 방법도 있습니다.

Python
file = open(r"d:\test\신규파일.txt", 'r')
for file_view in file:
    print(file_view)
file.close

for 문을 사용하여 파일을 줄 단위로 읽어온 결과입니다.

Python
1 번째 줄 입니다.

2 번째 줄 입니다.

3 번째 줄 입니다.

4 번째 줄 입니다.

5 번째 줄 입니다.

6 번째 줄 입니다.

7 번째 줄 입니다.

8 번째 줄 입니다.

9 번째 줄 입니다.

10 번째 줄 입니다.

파일에 새로운 내용 추가하기

앞선 예제 코드에서는 읽기 모드로(‘r’) 로 파일을 열어 봤습니다.
쓰기모드(‘w’) 로 파일을 열게 되면 이전에 존재하는 내용이 모두 사라진다고 공부했었습니다.
하지만 무조건 적으로 이렇게 모든 내용이 사라지게 하면서 파일을 작성할 수는 없을 겁니다.
이럴때 사용하는 것이 추가모드(‘a’) 입니다.

Python
file = open(r"d:\test\신규파일.txt", 'a')
for i in range(11, 20):
    file_view = "%d 번째 줄 입니다.\n" % i
    file.write(file_view)
file.close

파일이 잘 작성이 되었는지 열어 보겠습니다.
아래처럼 기존에 10번째 까지 작성되었던 파일에 추가로 데이터가 들어간 것을 확인 할 수 있습니다.

36. 파이썬 - 파일 읽기.내용 추가하기

with문 사용하기

지금까지 사용한 파일을 열고 닫는 방식과는 다르게 with 문을 사용하여 파일을 열고 닫아보겠습니다.
이전에는 파일을 open 하면 끝에는 항상 close 를 해주어야 했습니다.

Python
with open(r"d:\test\python_test.txt", "w") as file:
    file.write("Python's favorite food is perl")

with 문을 사용하게 되면 with 문이 속해 있는 문장을 벗어나면 열려있는 파일 객체가 자동으로 close 하게 됩니다.
아래 처럼 파일이 잘 생성된 것을 확인 할 수 있습니다.

  • 이 포스팅은 ‘위키독스’ 의 ‘점프 투 파이썬‘ 전자책을 구매하여 독학하기 위한 자료로 작성했습니다.

Leave a Comment