728x90
파이썬 파일 입출력: 파일 읽기와 쓰기 상세 가이드
파이썬에서 파일 다루기: 왜 중요할까요?
파이썬은 데이터 분석, 웹 개발, 머신러닝 등 다양한 분야에서 활용되는 강력한 프로그래밍 언어입니다. 이러한 작업을 수행하다 보면 외부 파일에서 데이터를 읽어오거나, 처리 결과를 파일로 저장해야 할 필요가 자주 발생합니다. 파일 입출력은 이러한 데이터 처리 과정에서 필수적인 요소입니다.
파일 입출력의 기본 개념
- 파일 객체: 파이썬에서 파일은 파일 객체로 표현됩니다. 파일 객체를 통해 파일의 내용을 읽고 쓰는 작업을 수행할 수 있습니다.
- 파일 모드: 파일을 열 때는 어떤 목적으로 파일을 열 것인지를 지정해야 합니다.
- r: 읽기 모드 (기본값)
- w: 쓰기 모드 (파일이 존재하면 내용을 모두 삭제하고 새로 작성)
- a: 추가 모드 (파일 끝에 내용을 추가)
- x: 생성 모드 (파일이 존재하지 않을 때만 생성)
- b: 바이너리 모드 (바이너리 데이터를 읽고 쓰기 위한 모드)
- 파일 경로: 파일의 위치를 나타내는 문자열입니다. 절대 경로 또는 상대 경로를 사용할 수 있습니다.
파일 열기와 닫기
# 파일 열기
file = open("파일 이름", "모드")
# 파일 닫기
file.close()
728x90
파일 읽기
- read() 메서드: 파일 전체를 문자열로 읽어옵니다.
- readline() 메서드: 파일에서 한 줄씩 읽어옵니다.
- readlines() 메서드: 파일 전체를 각 줄을 요소로 하는 리스트로 읽어옵니다.
# 파일 전체 읽기
with open("data.txt", "r") as f:
contents = f.read()
print(contents)
# 한 줄씩 읽기
with open("data.txt", "r") as f:
for line in f:
print(line, end="")
# 모든 줄을 리스트로 읽기
with open("data.txt", "r") as f:
lines = f.readlines()
print(lines)
파일 쓰기
# 파일에 문자열 쓰기
with open("output.txt", "w") as f:
f.write("Hello, world!")
# 파일에 리스트의 요소들을 줄 단위로 쓰기
with open("output.txt", "w") as f:
data = ["line1", "line2", "line3"]
f.writelines(data)
with 문을 사용한 파일 처리
with 문을 사용하면 파일을 열고 닫는 과정을 간편하게 처리할 수 있습니다. with 블록을 벗어나면 파일이 자동으로 닫히므로, 파일을 닫는 것을 잊어버릴 염려가 없습니다.
다양한 파일 형식 처리
- CSV 파일: csv 모듈을 사용하여 CSV 파일을 읽고 쓸 수 있습니다.
- JSON 파일: json 모듈을 사용하여 JSON 파일을 읽고 쓸 수 있습니다.
- XML 파일: xml.etree.ElementTree 모듈을 사용하여 XML 파일을 파싱할 수 있습니다.
예제: 텍스트 파일에서 특정 단어 찾기
def find_word(filename, word):
with open(filename, "r") as f:
for line in f:
if word in line:
print(line, end="")
find_word("data.txt", "Python")
주의 사항
- 파일 경로: 파일 경로를 정확하게 지정해야 합니다. 상대 경로를 사용할 때는 현재 작업 디렉토리를 확인해야 합니다.
- 파일 모드: 파일 모드를 잘못 지정하면 데이터 손실이 발생할 수 있습니다.
- 인코딩: 파일의 인코딩을 고려해야 합니다. 한글 파일의 경우 encoding="utf-8" 옵션을 사용하는 것이 일반적입니다.
- 파일 닫기: 파일을 사용한 후에는 반드시 close() 메서드를 호출하여 파일을 닫아야 합니다. 하지만 with 문을 사용하면 자동으로 닫히므로 생략할 수 있습니다.
추가적으로 알아두면 좋은 점
- 파일 시스템: 파일 시스템의 구조와 동작 방식을 이해하면 파일 입출력을 더 효율적으로 활용할 수 있습니다.
- 예외 처리: 파일 관련 작업 중에 예외가 발생할 수 있으므로, try-except 블록을 사용하여 예외를 처리해야 합니다.
- 파일 탐색: os 모듈을 사용하여 파일 시스템을 탐색하고 파일 목록을 얻을 수 있습니다.
결론
파이썬 파일 입출력은 데이터 처리 과정에서 필수적인 요소입니다. 다양한 파일 형식을 읽고 쓰는 방법을 숙달하면 파이썬을 활용한 데이터 분석 및 처리 능력을 향상시킬 수 있습니다.
728x90
'Python을 배워보자 > 7. 파일 입출력' 카테고리의 다른 글
파이썬 파일 입출력 경로 처리 (0) | 2024.09.25 |
---|---|
파이썬 파일 입출력 열기와 닫기 (0) | 2024.09.25 |