본문 바로가기
개발/python

python 기존 파일에 내용 추가 방법, 열기 모드를 'a' 로 하기

by 왼하루 2022. 4. 14.
반응형

코딩을 하다보면 파일 입출력해야 하는 경우가 많습니다. 보통 파일을 다룰 때 내용을 작성하기 위해 write 옵션 w, 파일을 읽기 위해 read 옵션 r 을 사용합니다. 더불어 기존 파일에 새로운 내용을 추가하고 싶은 경우 a 옵션을 사용할 수 있습니다.

 

 

파이썬 기존 파일에 내용 추가 하는 방법

파이썬에서 파일에 내용을 쓸 때 w 옵션을 사용합니다. 파이썬 open 함수를 사용하여 w 옵션을 지정해 주면, 중복된 파일명이 존재 할 경우 기존 파일 내용은 삭제하고 새로운 내용으로 생성됩니다. 기존 파일의 마지막에 새로운 내용을 추가 하고 싶을 경우 a 옵션으로 open 함수를 사용하면 됩니다.

 

  • 파일 열기 옵션
  • 파일 객체 생성
  • a 옵션을 이용하여 새로운 내용 추가하기

 

 

파일 열기 옵션

파일 열기 옵션은 아래와 같습니다. open 함수에서 사용합니다.

 

파일 열기 옵션 설명
r 읽기 - 기존 파일을 읽기만 할 때 사용
w 쓰기 - 새로운 내용을 쓸 때 사용
a 추가 - 기존 파일의 마지막에 내용을 추가할 때 사용

 

 

파일 객체 생성

간단하게 파일 객체 생성과 사용방법을 살펴보겠습니다.

 

파일 객체를 생성하기 위해 open 함수를 사용합니다. open 함수는 파이썬 내장 함수로, 별도의 import 없이 사용할 수 있습니다. open 함수는 파일 이름과 열기 모드, encoding 타입 등을 받아 파일 객체로 리턴해줍니다. 

 

# open(파일명, 열기 옵션, 인코딩타입)
f = open("abc.txt", 'w', encoding="utf8")
# 사용이 끝날 경우 close 해주어야 함
f.close()

 

위와 같은 경우는 abc.txt 파일은 생성되었지만 아무것도 쓰지 않았기 때문에 비어 있습니다. 파일을 쓰기 위해서는 write 함수를 사용합니다.

 

# write를 이용하여 내용 작성
f = open("abc.txt", 'w', encoding="utf8")
f.write("안녕하십니까?")
f.close()

 

write 함수를 사용하여 작성한 내용이 abc.txt 에 써진 것을 확인할 수 있습니다.

 

결과

 

 

a 옵션을 이용하여 새로운 내용 추가하기

위에서 파일을 생성하고 내용을 작성하기 위해 w 옵션을 사용하였습니다. 기존 내용을 지우지 않고 새로운 내용을 추가하기 위해 w 대신 a 를 사용하면 됩니다.

 

# a 옵션으로 기존 파일에 추가하기
f = open("abc.txt", 'a', encoding="utf8")
for i in range(10):
	f.write(f"{i} 번째 안녕하십니까?\n")
f.close()

 

상위 w 옵션을 사용한 결과로 abc.txt 에 "안녕하십니까" 내용만 있었는데, 아래는 여기에 a 옵션으로 새로운 내용을 추가한 결과 입니다.

 

결과

 

1번째 줄은 안녕하십니까?0 번째 안녕하십니까? 라고 보여지고 있습니다. 이는 a 옵션을 사용하여 내용을 추가 할 때 별도의 구분자가 없을 경우 같은 줄에 추가로 입력되는 것을 나타냅니다. 2번째줄 부터는 write에 \n 개행문자를 포함했기 때문에 줄바꿈이 일어납니다. 구분자가 필요할 경우 새로 추가하거나 저처럼 문장의 끝에 추가 해주시면 됩니다.

 

 

마무리

a 옵션을 사용하면 기존 파일에 새로운 내용을 추가로 작성할 경우, 다중 파일을 순차적으로 접근하여 내용을 작성해야 할 경우 등 다양하게 활용할 수 있습니다. 

 

오늘도 행복한 코딩생활 되시기 바라겠습니다. 감사합니다.

 

 

 

댓글