1. 파일 읽기와 쓰기
1.1 파일 열기와 닫기 (open()
, close()
)
Python에서 파일을 읽거나 쓰려면 먼저 파일을 열어야 합니다. 이를 위해 open()
함수를 사용하며, 작업이 끝난 후에는 close()
메서드를 호출하여 파일을 닫아야 합니다.
file = open("example.txt", "w") # 파일을 쓰기 모드로 엽니다.
file.write("Hello, Python!") # 파일에 내용 작성
file.close() # 파일 닫기
1.2 파일 모드 (읽기 모드, 쓰기 모드, 추가 모드)
- 읽기 모드(
r
): 파일을 읽기 위해 열며, 파일이 존재하지 않으면 오류가 발생합니다. - 쓰기 모드(
w
): 파일을 새로 작성하며, 기존 파일이 있다면 덮어씁니다. - 추가 모드(
a
): 파일의 끝에 새로운 데이터를 추가합니다.
# 파일을 읽기 모드로 열기
file = open("example.txt", "r")
1.3 파일에 데이터 쓰기 (write()
메서드)
write()
메서드를 사용하여 파일에 데이터를 쓸 수 있습니다.
file = open("example.txt", "w")
file.write("Python is fun!")
file.close()
1.4 파일에서 데이터 읽기 (read()
, readline()
, readlines()
메서드)
read()
: 파일의 모든 내용을 한꺼번에 읽습니다.
file = open("example.txt", "r")
content = file.read()
print(content)
file.close()
readline()
: 한 줄씩 읽습니다.
file = open("example.txt", "r")
line = file.readline()
print(line)
file.close()
readlines()
: 파일의 모든 줄을 리스트로 반환합니다.
file = open("example.txt", "r")
lines = file.readlines()
print(lines)
file.close()
2. 파일 처리 예외와 관리
2.1 예외 처리(try
, except
)의 기본 개념
파일 작업 중에는 예상치 못한 오류가 발생할 수 있습니다. 예를 들어, 파일이 존재하지 않거나 권한 문제가 있을 수 있습니다. 이러한 오류는 try
, except
구문을 사용하여 처리할 수 있습니다.
try:
file = open("nonexistent.txt", "r")
except FileNotFoundError:
print("파일을 찾을 수 없습니다.")
2.2 파일 처리 시 발생할 수 있는 예외 처리
파일을 처리하는 동안 자주 발생하는 오류로는 FileNotFoundError
, PermissionError
등이 있습니다. 이러한 예외를 처리하여 프로그램이 중단되지 않도록 할 수 있습니다.
try:
file = open("example.txt", "r")
content = file.read()
print(content)
except FileNotFoundError:
print("파일이 존재하지 않습니다.")
finally:
file.close() # 파일을 닫습니다.
2.3 with
문을 활용한 안전한 파일 처리
with
문을 사용하면 파일을 열고 자동으로 닫을 수 있습니다. with
블록을 벗어나는 순간 파일이 자동으로 닫히기 때문에 close()
를 명시적으로 호출할 필요가 없습니다.
with open("example.txt", "r") as file:
content = file.read()
print(content) # 파일은 자동으로 닫힘
with
문은 파일을 처리할 때 예외 발생 시에도 자동으로 파일을 닫아주므로 안전한 파일 처리 방식입니다.
3. 파일 입출력을 활용한 프로그램
3.1 간단한 텍스트 파일을 읽고 쓰는 프로그램 만들기
사용자로부터 입력을 받아 파일에 저장하고, 저장된 내용을 읽어오는 간단한 프로그램을 작성해보겠습니다.
# 사용자로부터 입력 받아 파일에 저장
with open("user_input.txt", "w") as file:
user_input = input("내용을 입력하세요: ")
file.write(user_input)
# 파일에서 내용을 읽어와 출력
with open("user_input.txt", "r") as file:
content = file.read()
print(f"파일 내용: {content}")
이 프로그램은 사용자로부터 입력받은 내용을 user_input.txt
파일에 저장하고, 그 내용을 다시 읽어와 출력합니다.
3.2 파일에서 데이터를 읽어와서 처리하는 프로그램
파일에서 학생의 이름과 점수를 읽어와 평균 점수를 계산하는 프로그램을 작성할 수 있습니다. 파일에 학생들의 이름과 점수가 저장되어 있다고 가정합니다.
# 파일에 학생 이름과 점수 저장
with open("students.txt", "w") as file:
file.write("Alice,85\nBob,90\nCharlie,78")
# 파일에서 데이터를 읽어와 평균 점수 계산
total_score = 0
count = 0
with open("students.txt", "r") as file:
for line in file:
name, score = line.strip().split(",")
total_score += int(score)
count += 1
average_score = total_score / count
print(f"평균 점수: {average_score}")
이 프로그램은 파일에서 각 학생의 점수를 읽고, 평균 점수를 계산하여 출력합니다.
'python' 카테고리의 다른 글
8편 Python 객체지향 프로그래밍 (OOP) 기초 (2) | 2024.11.13 |
---|---|
7편 Python 기초 문법: 예외 처리 (0) | 2024.11.13 |
5편 Python 기초 문법: 딕셔너리와 집합 (1) | 2024.11.12 |
4편 Python 기초 문법: 함수와 모듈 (1) | 2024.11.11 |
3편 Python 기초 문법: 반복문과 자료형 (0) | 2024.11.11 |