0Pricing
Python Academy · 강의

파일에 쓰기와 추가하기

새 데이터를 쓰고 기존 파일에 안전하게 데이터를 추가합니다.

파일에 쓰기와 추가하기은(는) CoddyKit의 무료 Python Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Python Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Python Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

소개

파일에 쓰거나 내용을 추가하면 프로그램 실행이 끝난 뒤에도 데이터를 유지할 수 있습니다.

쓰기 모드 'w'

open('out.txt', 'w')는 파일을 생성하거나 파일이 이미 있으면 내용을 모두 지웁니다. f.write('Hello')는 문자열을 씁니다.
# with open('out.txt', 'w') as f:
#     f.write('Hello, World!')
print('write mode demo')

writelines()

f.writelines(list_of_strings)은 리스트의 각 문자열을 씁니다. 줄바꿈을 자동으로 추가하지는 않습니다.
lines = ['line1\n', 'line2\n']
# with open('out.txt', 'w') as f:
#     f.writelines(lines)
print('writelines demo')

추가 모드 'a'

open('log.txt', 'a')는 추가 모드로 엽니다. 기존 내용을 지우지 않고 새 데이터를 끝에 추가합니다.
# with open('log.txt', 'a') as f:
#     f.write('new entry\n')
print('append mode demo')

write()의 줄바꿈

write()는 자동으로 줄바꿈을 추가하지 않습니다. \n을 직접 포함해야 합니다: f.write('line\n')
# with open('out.txt', 'w') as f:
#     f.write('first line\n')
#     f.write('second line\n')
print('newline demo')

읽기+쓰기 모드 'r+'

open(f,'r+')는 읽기와 쓰기 모두를 위해 엽니다. 포인터는 시작 부분에 있으며, 쓰기 작업은 기존 내용을 OVERWRITE합니다.
# with open('out.txt', 'r+') as f:
#     f.seek(0, 2)  # go to end
#     f.write('appended')
print('r+ demo')

버퍼 플러시

f.flush()는 버퍼에 저장된 데이터를 디스크에 강제로 기록합니다. 실시간 출력을 원하는 로그 파일에 유용합니다.
# with open('log.txt', 'a') as f:
#     f.write('event\n')
#     f.flush()
print('flush demo')

파일에 print() 사용하기

print('text', file=f)는 print의 서식 지정 방식(줄바꿈 추가)을 사용하여 파일에 씁니다. write()를 대신할 수 있는 편리한 방법입니다.
# with open('out.txt', 'w') as f:
#     print('Hello', file=f)
print('print-to-file demo')

원자적 쓰기 패턴

임시 파일에 쓴 다음 최종 경로로 이름을 변경합니다. 이렇게 하면 부분적으로 쓰인 내용 때문에 대상 파일이 손상되는 것을 방지할 수 있습니다.
import tempfile, os
# with tempfile.NamedTemporaryFile('w', delete=False) as f:
#     f.write(data); tmp = f.name
# os.replace(tmp, 'out.txt')
print('atomic write demo')

파일에 JSON 쓰기

import json; json.dump(obj, f, indent=2)는 Python 데이터를 깔끔하게 JSON 파일로 직렬화합니다.
import json
data = {'name': 'Alice', 'age': 30}
# with open('data.json', 'w') as f:
#     json.dump(data, f, indent=2)
print(json.dumps(data, indent=2))

바이너리 쓰기 모드 'wb'

open('img.bin', 'wb')는 바이너리 쓰기를 위해 엽니다. bytes 객체를 쓰십시오: f.write(b'\x00\xff')
# with open('out.bin', 'wb') as f:
#     f.write(bytes([0, 255, 128]))
print('binary write demo')

빠른 확인

모드 'w'로 기존 파일을 열면 어떻게 됩니까?

복습

모드 'w'는 내용을 잘라 내고, 'a'는 뒤에 추가하며, 'r+'는 읽기와 쓰기를 모두 수행합니다. 명시적인 \n과 함께 write()를 사용하십시오. print(file=f)는 편리한 대안입니다. 실시간 로그를 위해 플러시하십시오.

계속 진행하기

잘하셨습니다! 계속 발전하려면 다음 레슨으로 넘어가십시오.

자주 묻는 질문

“파일에 쓰기와 추가하기” 강의는 무료인가요?

네 — “파일에 쓰기와 추가하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Python Academy 강의 전체를 잠금 해제할 수 있습니다. Python Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“파일에 쓰기와 추가하기”에서 뭘 배우나요?

새 데이터를 쓰고 기존 파일에 안전하게 데이터를 추가합니다. 브라우저에서 직접 실행하는 실습 코드로 Python Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Python Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Python Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“파일에 쓰기와 추가하기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Python Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Python Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 파일 열기와 읽기
  2. 파일에 쓰기와 추가하기
  3. 파일에 with 문 사용하기
  4. pathlib로 파일 경로 다루기
← Python Academy(으)로 돌아가기