FRONTMANFRONTMAN
  • 태그
  • 방명록
  • 글쓰기
  • 관리자
  • HOME
  • 태그
  • 방명록
Python 파일 입출력 (파일 열기, 읽기와 쓰기)
hahekaku
Python 파일 입출력 (파일 열기, 읽기와 쓰기)Language/Python2023. 10. 24. 14:33@hahekaku
Table of Contents

Python에서 파일 입출력은 매우 중요한 기능으로, 데이터를 저장하고 처리하는 다양한 응용 프로그램에서 활용됩니다. 이 글에서는 파일 열기와 닫기(open, with) 및 파일 읽기와 쓰기를 다룹니다.

파일 열기와 닫기

Python에서 파일을 열기 위해 open() 함수를 사용합니다. 파일을 사용한 후에는 반드시 닫아야 리소스를 효율적으로 관리할 수 있습니다.

open() 함수

open() 함수는 파일을 열기 위해 사용되며, 다음과 같은 기본 문법을 가집니다:

file_object = open('파일_경로', '모드')
  • 파일 경로: 파일의 위치를 나타냅니다.
  • 모드: 파일을 어떻게 열 것인지 지정합니다. 주요 모드는 다음과 같습니다:
    • 'r': 읽기 모드 (기본값)
    • 'w': 쓰기 모드 (파일이 이미 존재하면 내용이 덮어씌워짐)
    • 'a': 추가 모드 (파일 끝에 데이터를 추가)
    • 'b': 바이너리 모드
    • '+': 읽기와 쓰기 모드

파일 닫기

파일을 다 사용한 후에는 close() 메서드를 호출하여 닫아야 합니다.

file_object.close()

이 과정을 자동화하려면 with 구문을 사용하는 것이 좋습니다.


with 구문을 사용한 파일 열기

with 구문은 파일 작업 후 자동으로 파일을 닫아주는 편리한 방법입니다.

with open('파일_경로', '모드') as file_object:
    # 파일 작업 수행
    pass
# 여기서 파일은 자동으로 닫힘

예제: 파일에 텍스트 쓰기

with open('example.txt', 'w') as file:
    file.write('이것은 예제 텍스트입니다.')

예제: 파일 읽기

with open('example.txt', 'r') as file:
    content = file.read()
    print(content)

파일 읽기

Python은 파일 읽기를 위한 다양한 메서드를 제공합니다.

read(): 전체 내용 읽기

with open('example.txt', 'r') as file:
    content = file.read()
    print(content)

readline(): 한 줄씩 읽기

with open('example.txt', 'r') as file:
    line = file.readline()
    while line:
        print(line.strip())  # 줄바꿈 제거
        line = file.readline()

readlines(): 모든 줄을 리스트로 읽기

with open('example.txt', 'r') as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())

파일 쓰기

파일 쓰기를 위해 write()와 writelines() 메서드를 사용할 수 있습니다.

write(): 텍스트 쓰기

with open('example.txt', 'w') as file:
    file.write('첫 번째 줄\n')
    file.write('두 번째 줄\n')

writelines(): 여러 줄 쓰기

lines_to_write = ['첫 번째 줄\n', '두 번째 줄\n', '세 번째 줄\n']
with open('example.txt', 'w') as file:
    file.writelines(lines_to_write)

파일 모드의 조합

파일 모드는 조합하여 사용할 수 있습니다. 예를 들어, 읽기와 쓰기를 동시에 하려면 'r+' 또는 'w+'를 사용할 수 있습니다.

예제: 읽기와 쓰기

with open('example.txt', 'r+') as file:
    content = file.read()
    print('파일 내용:', content)
    file.write('\n새로운 줄 추가')

바이너리 파일 작업

텍스트 파일 외에 바이너리 파일 작업도 가능합니다.

예제: 이미지 파일 읽기

with open('image.png', 'rb') as image_file:
    data = image_file.read()
    print('바이너리 데이터 길이:', len(data))

예제: 이미지 파일 쓰기

with open('new_image.png', 'wb') as image_file:
    image_file.write(data)

정리

Python의 파일 입출력은 open(), with 구문, 다양한 읽기와 쓰기 메서드를 사용하여 효율적으로 수행할 수 있습니다. 파일 작업 시 주의할 점은 다음과 같습니다:

  1. 파일 작업이 끝난 후 반드시 닫기.
  2. 파일 모드를 적절히 설정하여 데이터 손실 방지.
  3. 예외 처리를 통해 파일 작업 중 발생할 수 있는 오류 처리.

 

'Language > Python' 카테고리의 다른 글

Python 모듈(module)과 패키지(package)  (0) 2023.10.25
Python 객체지향 프로그래밍 (OOP)  (0) 2023.10.24
Python의 리스트 컴프리헨션(List Comprehension)  (0) 2023.10.23
Python 딕셔너리(Dictionary)와 집합(Set)  (0) 2023.10.22
Python 리스트(list)와 튜플(tuple)  (0) 2023.10.22
Language/Python 추천 글
more
  • Python 모듈(module)과 패키지(package)
    Python 모듈(module)과 패키지(package)2023.10.25
  • Python 객체지향 프로그래밍 (OOP)
    Python 객체지향 프로그래밍 (OOP)2023.10.24
  • Python의 리스트 컴프리헨션(List Comprehension)
    Python의 리스트 컴프리헨션(List Comprehension)2023.10.23
  • Python 딕셔너리(Dictionary)와 집합(Set)
    Python 딕셔너리(Dictionary)와 집합(Set)2023.10.22
FRONTMAN

검색

250x250

방문자 수

Total
Today
Yesterday

카테고리

  • 분류 전체보기 (54)
    • Language (48)
      • JavaScript (15)
      • TypeScript (14)
      • Python (14)
      • Dart (5)
      • Java (0)
    • FE (6)
      • WEB (4)
      • React (0)
      • Flutter (1)
    • CS (0)
      • Algorithm (0)
      • Network (0)
    • DevOps (0)

공지사항

  • 전체보기

최근 글

인기 글

태그

  • list
  • JavaScript
  • inline frame
  • 웹
  • Flutter
  • 타입스크립트
  • 리스트
  • OOP
  • await
  • Type
  • Object
  • Modules
  • CLASS
  • Interface
  • 타입
  • js
  • 자바스크립트
  • nodejs
  • Python
  • function
  • Import
  • export
  • frontend
  • web
  • npm
  • DART
  • typeScript
  • async
  • 파이썬
  • tuple

최근 댓글

FRONTMAN :: hahekaku
CopyrightBluemivDesigned byBluemiv

티스토리툴바