학습
Ruby 기본적인 파일 입출력
Ruby 기본적인 파일 입출력 — 초급
기본적인 파일 입출력
1. 도입 (왜 배워야 하는가)
파일 입출력(File I/O)은 프로그램이 외부 데이터를 읽거나 저장하는 방법을 제공합니다. 실무에서 이 기술이 중요한 이유는 데이터 관리 및 저장이 필수적이기 때문입니다. 예를 들어, 사용자의 정보를 파일에 저장하거나 로그 데이터를 기록하는 상황에서 파일 입출력은 필수적입니다.
파일 입출력을 모르면, 프로그램이 종료될 때마다 데이터를 잃어버리거나, 사용자에게 정보를 지속적으로 제공할 수 없는 문제가 발생할 수 있습니다. 데이터베이스와 같은 복잡한 시스템을 사용하지 않고도 간단하게 데이터를 저장하고 불러오는 방법을 익히는 것은 개발자로서의 기초를 다지는 중요한 단계입니다.
2. 핵심 개념 설명
- 파일(File): 데이터를 저장하는 장소입니다. 마치 서랍에 문서나 사진을 저장하는 것과 같습니다.
- 읽기(Read): 파일에 저장된 데이터를 가져오는 행위입니다. 서랍에서 문서를 꺼내는 것과 비슷합니다.
- 쓰기(Write): 데이터를 파일에 저장하는 행위입니다. 서랍에 새로운 문서를 넣는 것과 같습니다.
| 용어 | 설명 |
|---|---|
| 파일 열기 | 파일을 읽거나 쓰기 위해 열어야 함 |
| 파일 닫기 | 파일 사용 후 자원을 해제하기 위해 닫음 |
| 예외 처리 | 파일 작업 중 발생할 수 있는 오류 처리 |
3. 기본 코드 예제
다음은 파일에 문자열을 쓰고, 다시 읽는 기본적인 예제입니다.
# 파일에 문자열 쓰기
File.open('example.txt', 'w') do |file|
file.puts '안녕하세요, Ruby!'
end
# 파일에서 문자열 읽기
content = File.read('example.txt')
puts content
실행 결과
안녕하세요, Ruby!
코드 한 줄씩 동작 설명
File.open('example.txt', 'w'): 'example.txt'라는 파일을 쓰기 모드('w')로 엽니다. 파일이 존재하지 않으면 새로 생성됩니다.do |file|: 파일을 블록으로 열고, 파일 객체를file이라는 변수로 사용합니다.file.puts '안녕하세요, Ruby!': 파일에 문자열 '안녕하세요, Ruby!'를 씁니다.end: 블록이 끝나면 파일이 자동으로 닫힙니다.content = File.read('example.txt'): 'example.txt' 파일을 읽어content변수에 저장합니다.puts content: 읽어온 내용을 콘솔에 출력합니다.- 잘못된 코드:
- 올바른 코드:
- 파일 입출력은 외부 데이터 관리에 필수적입니다.
- 파일을 열고, 읽고, 쓰는 기본 개념을 이해해야 합니다.
- 블록을 사용하여 파일을 열면 자동으로 닫히므로 안전합니다.
- 다음에 학습하면 좋은 주제: 파일 경로 및 예외 처리, CSV 파일 읽기 및 쓰기.
4. 실전 활용 예제
예제 1: 로그 파일 작성
쇼핑몰에서 사용자 행동을 기록하기 위해 로그 파일을 작성할 수 있습니다.
File.open('log.txt', 'a') do |file|
file.puts "사용자 A가 상품 B를 장바구니에 추가했습니다."
end
예제 2: 설정 파일 읽기
애플리케이션의 설정 정보를 파일에서 읽는 예제입니다.
settings = File.read('settings.txt').split("\n")
settings.each do |setting|
puts setting
end
5. 흔한 실수와 주의사항
실수 1: 파일 모드 실수
File.open('example.txt', 'r') do |file| # 읽기 모드에서 쓰기 시도
file.puts '내용 추가'
end
File.open('example.txt', 'a') do |file| # 추가 모드 사용
file.puts '내용 추가'
end
실수 2: 파일 닫기를 잊음
파일을 열고 닫지 않으면 자원 누수가 발생할 수 있습니다. Ruby에서는 블록을 사용하면 자동으로 닫히지만, 블록을 사용하지 않으면 명시적으로 닫아야 합니다.