본문 바로가기
Python/Python Programming

파이썬 파일 다루기 초보자 가이드: 심화 학습 및 활용 예시

by Maccrey 2024. 5. 27.
반응형

파이썬은 다양한 기능을 제공하는 강력한 프로그래밍 언어입니다.

파일 다루기는 파이썬에서 가장 기본적인 기능 중 하나이며, 프로그램에서 데이터를 저장하고 불러오는 데 필수적입니다.

이 블로그 포스팅에서는 파이썬 초보자를 위한 파일 다루기 가이드를 자세히 다루고, 주요 개념, 함수, 활용 예시, 실제 코드 및 팁을 제공합니다.

 

1. 파일 입출력 기본 개념

  • 파일 객체: 파일에 대한 정보와 기능을 제공하는 객체
  • 파일 열기: open() 함수를 사용하여 파일 객체를 생성
  • 파일 읽기: read() 함수를 사용하여 파일 내용을 읽음
  • 파일 쓰기: write() 함수를 사용하여 파일에 내용을 씀
  • 파일 닫기: close() 함수를 사용하여 파일 객체를 닫음

2. 주요 함수

  • open(): 파일 객체를 생성하는 함수
    • mode: 파일 열기 모드 (예: r - 읽기, w - 쓰기, a - 추가, r+ - 읽기 쓰기)
    • encoding: 파일 인코딩 (예: utf-8, cp949)
  • read(): 파일 내용을 문자열로 읽는 함수
    • n: 읽을 바이트 수 (기본값: 전체)
  • write(): 파일에 문자열을 쓰는 함수
    • string: 쓸 문자열
  • close(): 파일 객체를 닫는 함수

3. 활용 예시

 

3.1. 파일 읽기

with open("data.txt", "r") as f:
  data = f.read()
  print(data)
 
  • 코드 설명
    • with open("data.txt", "r") as f: 문장은 data.txt 파일을 읽기 모드로 열고, 파일 객체 f를 생성합니다.
    • data = f.read() 문장은 f.read() 함수를 사용하여 파일 내용을 문자열 data에 저장합니다.
    • print(data) 문장은 data 변수에 저장된 문자열을 출력합니다.

3.2. 파일 쓰기

with open("output.txt", "w") as f:
  f.write("파일에 쓰는 내용입니다.")
 
  • 코드 설명
    • with open("output.txt", "w") as f: 문장은 output.txt 파일을 쓰기 모드로 열고, 파일 객체 f를 생성합니다.
    • f.write("파일에 쓰는 내용입니다.") 문장은 f.write() 함수를 사용하여 "파일에 쓰는 내용입니다." 문자열을 output.txt 파일에 씁니다.

3.3. 파일 추가 쓰기

with open("data.txt", "a") as f:
  f.write("추가적으로 쓰는 내용입니다.")
 
  • 코드 설명:
    • with open("data.txt", "a") as f: 문장은 data.txt 파일을 추가 모드로 열고, 파일 객체 f를 생성합니다.
    • f.write("추가적으로 쓰는 내용입니다.") 문장은 f.write() 함수를 사용하여 "추가적으로 쓰는 내용입니다." 문자열을 data.txt 파일에 추가로 씁니다.

4. 실제 코드 및 팁

 

4.1. CSV 파일 읽기

import csv

with open("data.csv", "r") as f:
  reader = csv.reader(f)
  for row in reader:
    print(row)
 
  • 코드 설명:
    • import csv 문장은 csv 모듈을 불러옵니다.
    • with open("data.csv", "r") as f: 문장은 data.csv CSV 파일을 읽기 모드로 열고, 파일 객체 f를 생성합니다.
    • reader = csv.reader(f) 문장은 csv.reader() 함수를 사용하여 f 파일 객체로부터 CSV 리더 객체 reader를 생성합니다.
    • for row in reader: 반복문은 reader 객체에서 한 행씩 데이터를 읽고, 각 행을 row 변수에 저장합니다.
    • print(row) 문장은 row 변수에 저장된 각 행 데이터를 출력합니다.

4.2. JSON 파일 읽기

import json

with open("data.json", "r") as f:
  data = json.load(f)
  print(data)
 
  • 코드 설명:
    • import json 문장은 json 모듈을 불러옵니다.
    • with open("data.json", "r") as f: 문장은 data.json JSON 파일을 읽기 모드로 열고, 파일 객체 f를 생성합니다.
    • data = json.load(f) 문장은 json.load() 함수를 사용하여 f 파일 객체로부터 JSON 데이터를 data 변수에 로드합니다.
    • print(data) 문장은 data 변수에 저장된 JSON 데이터를 출력합니다.

4.3. 파일 오류 처리

try:
  with open("data.txt", "r") as f:
    data = f.read()
    print(data)
except FileNotFoundError:
  print("파일을 찾을 수 없습니다.")
except Exception as e:
  print(f"오류 발생: {e}")
 
  • 코드 설명:
    • try: 블록은 예외 상황이 발생하지 않을 것으로 예상되는 코드를 포함합니다.
    • except FileNotFoundError: 블록은 FileNotFoundError 예외가 발생했을 때 실행됩니다.
    • except Exception as e: 블록은 FileNotFoundError 외에 다른 예외가 발생했을 때 실행됩니다.
    • print("파일을 찾을 수 없습니다.") 문장은 FileNotFoundError 예외가 발생했을 때 "파일을 찾을 수 없습니다." 메시지를 출력합니다.
    • print(f"오류 발생: {e}") 문장은 FileNotFoundError 외에 다른 예외가 발생했을 때 예외 객체 e를 출력합니다.

4.4. 팁

  • 파일 다루기 관련 다양한 모듈과 함수를 활용하여 더욱 복잡한 작업을 수행할 수 있습니다.
  • 온라인 문서와 예제 코드를 참고하여 필요한 기능을 구현하는 방법을 찾아볼 수 있습니다.
  • 코드 작성 시 명확하고 간결한 코드 스타일을 유지하는 것이 좋습니다.
  • 코드를 충분히 테스트하고 디버깅하여 오류를 방지해야 합니다.

5. 마무리

 

파이썬 파일 다루기 기능은 다양한 프로그래밍 작업에 필수적입니다.

이 블로그 포스팅을 통해 파이썬 초보자가 파일 다루기의 기본 개념, 주요 함수, 활용 예시, 실제 코드 및 팁을 이해하고 활용하는 데 도움이 되었기를 바랍니다.

궁금한 점이나 추가적으로 알고 싶은 내용이 있으면 언제든지 질문해주세요.

반응형