본문 바로가기

파이썬

파이썬 파일 입출력

파이썬 파일 입출력: 이해하기 쉬운 가이드

안녕하세요, 친근한 코딩 친구들! 오늘은 파이썬에서 파일을 다루는 방법에 대해 알아보겠습니다. 파일 입출력은 프로그래밍에서 중요한 기술 중 하나입니다. 이 글을 따라가다 보면, 여러분은 쉬운 설명과 함께 다양한 예제를 통해 파이썬 파일 입출력에 대한 이해를 높일 수 있을 것입니다.

파이썬에서 파일 열기

파이썬에서 파일을 열려면, open() 함수를 사용합니다. 이 함수는 두 가지 매개변수를 받습니다: 파일 경로와 파일을 여는 모드입니다. 예를 들어, 텍스트 파일을 읽기 모드로 열려면 다음과 같이 작성합니다:

file = open("example.txt", "r")

모드에는 다양한 종류가 있습니다:

  • r: 읽기 모드
  • w: 쓰기 모드 (기존 파일 내용 삭제)
  • a: 이어 쓰기 모드 (기존 파일 내용 유지)
  • x: 새 파일 작성 모드 (파일이 이미 존재하면 오류 발생)

파일 읽기와 쓰기

파일을 읽으려면, read() 함수를 사용합니다. 예를 들어:

file_content = file.read()
print(file_content)

파일에 쓰려면, write() 함수를 사용합니다. 예를 들어:

file = open("example.txt", "w")
file.write("Hello, World!")

파일 닫기

파일을 사용한 후에는 반드시 닫아야 합니다. 그렇지 않으면 메모리 누수가 발생할 수 있습니다. 파일을 닫으려면, close() 함수를 사용합니다:

file.close()

컨텍스트 관리자로 파일 다루기

컨텍스트 관리자를 사용하면, 파일을 자동으로 닫을 수 있습니다. 이렇게 하면 코드가 더 깔끔해지고, 실수를 줄일 수 있습니다. 컨텍스트 관리자를 사용하려면 with 문을 사용하면 됩니다:

with open("example.txt", "r") as file:
    file_content = file.read()
    print(file_content)

위 예제에서는 with 문이 종료되면 파일이 자동으로 닫힙니다. 따라서 close() 함수를 호출할 필요가 없습니다.

파일을 한 줄씩 읽기

파이썬에서는 파일을 한 줄씩 읽을 수도 있습니다. 이렇게 하면 메모리 사용량을 줄일 수 있습니다. 한 줄씩 읽으려면, readline() 함수를 사용하거나 파일 객체를 직접 반복할 수 있습니다.

with open("example.txt", "r") as file:
    for line in file:
        print(line.strip())

이 예제에서는 strip() 함수를 사용하여 각 줄의 양쪽 공백(예: 개행 문자)을 제거합니다.

결론

이제 여러분은 파이썬을 사용하여 파일을 열고, 읽고, 쓰고, 닫는 방법을 알게 되었습니다. 컨텍스트 관리자를 사용하면 코드가 더 깔끔해지고 오류를 줄일 수 있습니다. 이 기술은 여러분의 프로젝트에 많은 도움이 될 것입니다. 계속 연습하고 즐겁게 코딩하세요!

 

 

자주 묻는 질문

  1. 파이썬에서 파일을 열 때 사용하는 함수는 무엇인가요?
    파이썬에서 파일을 열 때는 open() 함수를 사용합니다.

  2. 파일을 읽을 때 사용하는 함수는 무엇인가요?
    파일을 읽을 때는 read() 함수를 사용합니다.

  3. 파이썬에서 파일을 쓸 때 사용하는 함수는 무엇인가요?
    파이썬에서 파일을 쓸 때는 write() 함수를 사용합니다.

  4. 파일을 닫을 때 사용하는 함수는 무엇인가요?
    파일을 닫을 때는 close() 함수를 사용합니다.

  5. 파이썬에서 컨텍스트 관리자란 무엇인가요?
    컨텍스트 관리자는 with 문을 사용하여 코드 블록 내에서 리소스를 관리하는 기능입니다. 이를 사용하면 파일을 자동으로 닫을 수 있습니다. 이렇게 하면 코드가 더 깔끔해지고 오류를 줄일 수 있습니다.

'파이썬' 카테고리의 다른 글

파이썬 클래스와 객체 지향 프로그래밍  (0) 2023.04.15
파이썬 정규 표현식  (0) 2023.04.14
파이썬 예외 처리  (0) 2023.04.13
파이썬 모듈과 패키지  (0) 2023.04.13
파이썬 람다 함수  (0) 2023.04.12