본문으로 건너뛰기
실습하기

파일에 데이터를 쓰는 방법

이번 수업에서는 write()writelines() 메서드로 파일에 데이터를 쓰는 방법을 알아보겠습니다.


파일에 문자열 쓰는 write()

write()는 파일에 문자열을 단순히 기록하는 메서드입니다.

파일을 열 때 "w" 모드로 열어야 사용할 수 있습니다.

파일 내 줄 바꿈이 필요하면 직접 줄 바꿈 문자 \n를 포함해야 합니다.


write() 사용법

문자열 쓰기
with open("output_file.txt", "w+") as file:
file.write("1번째 줄\n")
file.write("2번째 줄\n")

# 파일 내용 출력
file.seek(0)
print(file.read())

위 코드에서는 "output_file.txt"라는 파일을 열어 두 줄의 문자열을 기록합니다.

"w" 모드는 쓰기 모드로, 파일이 이미 존재하면 그 내용을 덮어쓰며, 파일이 없으면 새로 생성합니다.

"w+" 모드는 읽기와 쓰기 모드로, 파일을 읽고 쓰는 모든 작업을 수행할 수 있습니다.

write() 메서드로 파일에 문자열 데이터를 쓰며, 각 줄의 끝에는 줄 바꿈 문자인 \n을 포함해야 합니다.

seek(0)은 파일 포인터(파일의 읽고 쓰는 위치)를 파일의 맨 처음으로 이동합니다.

마지막으로 read() 메서드로 파일의 내용을 읽어 출력합니다.


여러 줄의 데이터를 한 번에 쓰는 writelines()

writelines() 메서드는 문자열로 구성된 리스트를 파일에 한 번에 기록합니다.

마찬가지로 입력한 내용 사이에 줄바꿈이 되도록 하려면 각 줄 끝에 \n을 추가해야 합니다.


writelines() 사용법

리스트 쓰기
lines = ["첫 번째 줄입니다.\n", "두 번째 줄입니다.\n", "세 번째 줄입니다.\n"]

with open("output_file.txt", "w") as file:
file.writelines(lines)

위 예제에서는 lines 리스트에 담긴 여러 줄의 문자열을 "output_file.txt" 파일에 한꺼번에 기록합니다.

write()와 마찬가지로 각 줄에 줄 바꿈 문자를 포함해야 합니다.


파일 쓰기 모드 참고

파일에 내용을 기록할 때, 기존 파일을 완전히 덮어 쓰려면 "w" 모드를 사용하고, 기존 파일에 내용을 추가하려면 "a" 모드를 사용합니다.

  • "w" (쓰기 모드): 파일을 새로 생성하거나, 기존 파일의 내용을 덮어씁니다. 파일이 이미 존재하면 기존 내용이 모두 사라집니다.

  • "a" (추가 모드): 기존 파일에 새로운 데이터를 추가합니다. 파일이 존재하지 않으면 새 파일을 만듭니다.


파일 쓰기 모드 예시

쓰기 모드와 추가 모드 사용 예시
# output_file.txt에 "Hello"가 기록되어 있다고 가정

# 기존 내용을 덮어쓰는 쓰기 모드
with open("output_file.txt", "w") as file:
file.write("w\n")

# output_file.txt 내용
# w

# 기존 내용에 추가하는 추가 모드
with open("output_file.txt", "a") as file:
file.write("a\n")

# output_file.txt 내용
# w
# a

이 예시에서는 "w" 모드로 기존 파일 내용을 덮어쓰고, "a" 모드로 기존 파일에 새로운 내용을 추가합니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!