개발관련
파이썬 강좌 6 - 파일 입출력
우원우
2024. 12. 20. 22:22
728x90
반응형
2024.12.20 - [개발관련] - 파이썬 강좌 5 - 함수
파이썬 강좌 5 - 함수
2024.12.20 - [개발관련] - 파이썬 강좌 4 - 함수 파이썬 강좌 4 - 함수2024.12.20 - [개발관련] - 파이썬 강좌3 - 파이썬 제어문 파이썬 강좌3 - 파이썬 제어문2024.12.20 - [개발관련] - 파이썬 강좌 2 - 파이썬
woowonwoo.tistory.com
6장: 파이썬 파일 입출력
파이썬은 텍스트 파일이나 이진 파일을 읽고 쓰는 작업을 쉽게 처리할 수 있는 기능을 제공합니다.
이 장에서는 파일 입출력의 기본 개념과 실습을 통해 파일을 다루는 방법을 배웁니다.
1. 파일 입출력의 기본 개념
파일 입출력은 데이터를 외부 파일에 저장하거나 외부 파일에서 데이터를 읽어오는 작업입니다.
작업설명
읽기(Read) | 파일에서 데이터를 읽어옵니다. |
쓰기(Write) | 데이터를 파일에 씁니다. |
추가(Append) | 기존 파일 내용에 데이터를 추가합니다. |
2. 파일 열기와 닫기
2.1 파일 열기
파일을 열기 위해 open() 함수를 사용합니다.
파일_객체 = open("파일경로", "모드")
모드설명
r | 읽기 모드(기본값) |
w | 쓰기 모드(기존 내용 삭제) |
a | 추가 모드(기존 내용 유지) |
2.2 파일 닫기
파일 작업이 끝난 후 **close()**를 사용해 파일을 닫아야 합니다.
파일_객체.close()
2.3 with문 사용하기
with문을 사용하면 파일을 자동으로 닫아줍니다.
with open("파일경로", "모드") as 파일_객체:
작업내용
3. 텍스트 파일 읽기
3.1 파일 읽기 메서드
메서드설명
read() | 파일의 모든 내용을 읽어서 문자열로 반환합니다. |
readline() | 파일의 한 줄씩 읽습니다. |
readlines() | 파일의 모든 줄을 리스트로 반환합니다. |
3.2 파일 읽기 예제
# 파일 전체 읽기
with open("example.txt", "r") as file:
content = file.read()
print(content)
# 파일 한 줄씩 읽기
with open("example.txt", "r") as file:
for line in file:
print(line.strip()) # 개행 문자 제거
4. 텍스트 파일 쓰기
4.1 파일 쓰기 예제
# 새 파일에 쓰기
with open("output.txt", "w") as file:
file.write("Hello, Python!\n")
file.write("파일 입출력을 배워봅시다.")
4.2 추가 모드로 파일 쓰기
# 기존 파일 내용에 추가
with open("output.txt", "a") as file:
file.write("\n새로운 내용을 추가합니다.")
5. 이진 파일 읽기와 쓰기
5.1 이진 파일 읽기
이진 파일을 읽으려면 rb 모드를 사용합니다.
with open("image.jpg", "rb") as file:
data = file.read()
print(data)
5.2 이진 파일 쓰기
이진 파일을 쓸 때는 wb 모드를 사용합니다.
with open("copy.jpg", "wb") as file:
file.write(data)
6. 파일 입출력 예제
6.1 텍스트 파일 읽기/쓰기
# 읽을 파일: input.txt, 쓸 파일: output.txt
with open("input.txt", "r") as infile, open("output.txt", "w") as outfile:
for line in infile:
outfile.write(line.upper()) # 내용을 대문자로 변환
6.2 로그 파일에 데이터 추가
# 현재 날짜와 시간을 기록
import datetime
with open("log.txt", "a") as log_file:
now = datetime.datetime.now()
log_file.write(f"{now}: 작업 완료\n")
7. 예외 처리와 파일 입출력
7.1 파일 작업 중 예외 처리
파일 작업은 실패할 가능성이 있으므로 예외 처리가 필요합니다.
try:
with open("nonexistent.txt", "r") as file:
content = file.read()
except FileNotFoundError:
print("파일을 찾을 수 없습니다.")
except IOError:
print("파일 작업 중 오류가 발생했습니다.")
8. 연습 문제
- 텍스트 파일에서 특정 단어 개수 세기
with open("example.txt", "r") as file:
content = file.read()
word_count = content.count("Python")
print(f"'Python' 단어가 {word_count}번 등장합니다.")
- 이진 파일 복사하기
with open("source.jpg", "rb") as src, open("destination.jpg", "wb") as dest:
dest.write(src.read())
- 파일에서 홀수 줄만 읽어 새로운 파일에 쓰기
with open("input.txt", "r") as infile, open("output.txt", "w") as outfile:
for i, line in enumerate(infile, start=1):
if i % 2 == 1: # 홀수 줄
outfile.write(line)
9. 요약
- open() 함수로 파일을 열고, 작업 후 close() 해야 합니다.
- 텍스트 파일은 r, w, a 모드로 읽거나 쓸 수 있습니다.
- 이진 파일은 rb, wb 모드로 읽거나 씁니다.
- 파일 작업 중 예외 처리를 통해 안전하게 작업을 수행할 수 있습니다.
다음 장에서는 파이썬의 예외 처리에 대해 학습하겠습니다! 😊
728x90
반응형