01. 가장 기본적인 문자열 저장
기초with open('hello.txt', 'w', encoding='utf-8') as f:
f.write('안녕하세요')
파일에 한 문장을 저장하는 가장 기본적인 예제입니다.
hello.txt에 안녕하세요가 저장됩니다.write() 실전 예제 20개텍스트 파일 저장, 로그 기록, CSV 작성, 일기 저장, 누적 기록 등 현장에서 자주 쓰는 패턴을 한 번에 정리한 학습용 HTML 자료
write()는 문자열을 파일에 씁니다.str() 또는 f-string으로 변환해야 합니다.\n을 넣어야 합니다.w: 새로 쓰기, a: 이어 쓰기f.write(123)처럼 숫자를 바로 쓰면 오류with open(...)을 사용하면 자동으로 닫힘encoding='utf-8' 권장with open('hello.txt', 'w', encoding='utf-8') as f:
f.write('안녕하세요')
파일에 한 문장을 저장하는 가장 기본적인 예제입니다.
hello.txt에 안녕하세요가 저장됩니다.with open('memo.txt', 'w', encoding='utf-8') as f:
f.write('첫째 줄\n')
f.write('둘째 줄')
\n을 넣어야 다음 줄로 내려갑니다.
score = 95
with open('score.txt', 'w', encoding='utf-8') as f:
f.write(str(score))
write()는 문자열만 받으므로 str() 변환이 필요합니다.
name = '김인수'
age = 17
with open('profile.txt', 'w', encoding='utf-8') as f:
f.write(f'이름: {name}\n나이: {age}')
변수를 문장 속에 자연스럽게 넣을 때 가장 많이 쓰는 방식입니다.
with open('data.txt', 'w', encoding='utf-8') as f:
f.write('새로운 내용')
w 모드는 기존 파일 내용이 있으면 모두 지우고 새로 씁니다.
with open('log.txt', 'a', encoding='utf-8') as f:
f.write('프로그램 실행 완료\n')
a 모드는 기존 파일 끝에 내용을 추가합니다.
with open('numbers.txt', 'w', encoding='utf-8') as f:
for i in range(1, 6):
f.write(f'{i}\n')
1부터 5까지를 한 줄씩 저장하는 예제입니다.
fruits = ['사과', '바나나', '포도']
with open('fruits.txt', 'w', encoding='utf-8') as f:
for fruit in fruits:
f.write(fruit + '\n')
리스트 데이터를 파일로 내보낼 때 자주 쓰는 패턴입니다.
with open('gugudan.txt', 'w', encoding='utf-8') as f:
for i in range(2, 10):
for j in range(1, 10):
f.write(f'{i} x {j} = {i*j}\n')
f.write('\n')
계산 결과를 텍스트 보고서처럼 저장할 수 있습니다.
msg = input('메시지 입력: ')
with open('user_message.txt', 'w', encoding='utf-8') as f:
f.write(msg)
사용자가 입력한 문장을 그대로 파일에 저장합니다.
from datetime import date
text = '오늘은 파이썬 write()를 공부했다.'
with open('diary.txt', 'a', encoding='utf-8') as f:
f.write(f'[{date.today()}] {text}\n')
일기, 학습 기록, 활동 기록에 활용할 수 있습니다.
from datetime import datetime
with open('app.log', 'a', encoding='utf-8') as f:
f.write(f'[{datetime.now()}] 로그인 성공\n')
프로그램 실행 기록을 남길 때 대표적으로 사용하는 형태입니다.
name, kor, eng, math = '민지', 90, 88, 95
with open('scores.csv', 'w', encoding='utf-8') as f:
f.write('이름,국어,영어,수학\n')
f.write(f'{name},{kor},{eng},{math}\n')
쉼표로 구분된 데이터는 엑셀이나 스프레드시트에서 열기 쉽습니다.
students = [('철수', 80), ('영희', 92), ('민수', 77)]
with open('students.csv', 'w', encoding='utf-8') as f:
f.write('이름,점수\n')
for name, score in students:
f.write(f'{name},{score}\n')
반복문과 함께 쓰면 표 형태 데이터를 손쉽게 저장할 수 있습니다.
html = '<h1>안녕하세요</h1><p>파이썬이 만든 HTML 파일입니다.</p>'
with open('index.html', 'w', encoding='utf-8') as f:
f.write(html)
파이썬으로 HTML 문서를 생성하는 가장 간단한 형태입니다.
title = '파이썬 실습 보고서'
content = '오늘은 파일 입출력을 연습했다.'
with open('report.txt', 'w', encoding='utf-8') as f:
f.write(title + '\n')
f.write('=' * 20 + '\n')
f.write(content + '\n')
제목과 구분선을 넣어 문서처럼 정리할 수 있습니다.
try:
x = 10 / 0
except Exception as e:
with open('error.log', 'a', encoding='utf-8') as f:
f.write(f'에러 발생: {e}\n')
프로그램 오류를 파일에 남기면 문제를 나중에 분석하기 쉽습니다.
names = ['지우', '서연', '하준']
with open('names.txt', 'a', encoding='utf-8') as f:
for name in names:
f.write(name + '\n')
명단, 출석, 참가자 목록 저장에 응용할 수 있습니다.
with open('test.txt', 'w', encoding='utf-8') as f:
n = f.write('Python')
print(n)
write()는 보통 저장한 문자 수를 반환합니다.
6a, b = 48, 18
result = f'{a}와 {b}의 최대공약수는 6입니다.'
with open('gcd_result.txt', 'w', encoding='utf-8') as f:
f.write(result)
알고리즘 실행 결과를 저장해 제출용 출력 파일을 만들 수 있습니다.