파일 읽기 및 쓰기

PythonBeginner
지금 연습하기

소개

이 랩에서는 Python 에서 파일을 읽고 쓰는 방법을 배웁니다. 간단한 예제부터 시작하여 점차 코드의 복잡성을 높여갈 것입니다.

파일을 읽고 쓰는 것은 모든 프로그래밍 언어에서 필수적인 기술입니다. 이를 통해 데이터를 영구적으로 저장하고 조작할 수 있으며, 많은 애플리케이션의 핵심 구성 요소가 됩니다. Python 에서 파일을 읽고 쓰는 것은 간단하고 배우기 쉽습니다. 먼저 파일을 읽는 방법을 배우고, 그 다음 파일 쓰기로 넘어가겠습니다.

성과

  • 파일 읽기 및 쓰기
이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 83%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

파일 읽기

Python 에서 파일을 읽으려면 open 함수를 사용합니다. 이 함수는 파일 객체를 반환합니다. 그런 다음 파일 객체의 다양한 메서드를 사용하여 파일의 내용을 읽을 수 있습니다.

새로운 Python 인터프리터 세션을 열고 다음 코드를 입력하십시오.

python3

다음은 텍스트 파일을 열고 읽는 방법의 예입니다.

## Open the file
f = open('filename.txt', 'r')

## Read the contents of the file
contents = f.read()

## Print the contents
print(contents)

## Close the file
f.close()

open 함수는 두 개의 인수를 받습니다. 파일 이름과 파일을 열 모드입니다. 이 경우, "읽기"를 의미하는 'r' 모드를 사용합니다. 이는 기본 모드이므로 open('filename.txt')로 작성할 수도 있습니다.

파일 객체의 read 메서드는 파일의 내용을 문자열로 반환합니다. 그런 다음 내용을 출력하거나 원하는 방식으로 조작할 수 있습니다.

시스템 리소스를 확보하기 위해 파일 사용을 마쳤을 때 파일을 닫는 것이 중요합니다. 파일 객체의 close 메서드를 사용하여 이를 수행할 수 있습니다.

파일 쓰기

Python 에서 파일에 쓰려면 파일을 읽는 것과 유사한 프로세스를 따릅니다. open 함수를 사용하여 파일 객체를 얻은 다음 write 메서드를 사용하여 파일에 씁니다.

다음은 쓰기 위해 파일을 열고 일부 텍스트를 쓰는 방법의 예입니다.

## Open the file
f = open('filename.txt', 'w')

## Write some text to the file
f.write('Hello, world!\nPython')

## Close the file
f.close()

파일을 읽는 경우와 마찬가지로 open 함수를 사용하여 파일 객체를 얻습니다. 이번에는 "쓰기"를 의미하는 'w' 모드를 사용합니다. 이 모드는 파일이 아직 존재하지 않으면 파일을 생성하고, 이미 존재하면 덮어씁니다.

write 메서드는 문자열을 인수로 받아 파일에 씁니다. 파일을 읽는 경우와 마찬가지로, 파일 사용을 마쳤을 때 파일을 닫는 것이 중요합니다.

파일 내용 작업

이제 파일을 읽고 쓰는 방법을 알았으니, 파일 내용 작업에 대한 몇 가지 더 고급 예제를 살펴보겠습니다.

파일 한 줄씩 읽기

때로는 전체 내용을 한 번에 읽는 대신 파일의 내용을 한 줄씩 읽고 싶을 수 있습니다. 이렇게 하려면 파일 객체의 readline 메서드를 사용할 수 있습니다.
다음은 파일을 한 줄씩 읽는 방법의 예입니다.

## Open the file
f = open('filename.txt', 'r')

## Read and print each line
for line in f:
    print(line)

## Close the file
f.close()

for 루프는 파일의 각 줄을 반복합니다. 각 반복에서 현재 줄을 읽고 출력합니다. 더 이상 읽을 줄이 없으면 루프가 종료되고 파일이 닫힙니다.

파일에 한 줄씩 쓰기

파일에 한 줄씩 쓰려면 파일 객체의 writelines 메서드를 사용할 수 있습니다. 이 메서드는 문자열 목록을 인수로 받아 파일에 씁니다. 목록의 각 문자열은 파일에서 별도의 줄이 됩니다.

다음은 파일에 한 줄씩 쓰는 방법의 예입니다.

## Open the file
f = open('filename.txt', 'w')

## Write a list of lines to the file
lines = ['Line 1', 'Line 2', 'Line 3']
f.writelines(lines)

## Close the file
f.close()

파일에 추가하기

파일을 덮어쓰는 대신 파일에 추가하려면 파일을 열 때 'a' 모드를 사용할 수 있습니다. 이렇게 하면 파일을 추가 모드로 열어 기존 내용을 덮어쓰지 않고 파일 끝에 새 내용을 추가할 수 있습니다.

다음은 파일에 추가하는 방법의 예입니다.

## Open the file
f = open('filename.txt', 'a')

## Append some text to the file
f.write('This is new content')

## Close the file
f.close()

with 문

Python 의 with 문은 컨텍스트 관리자 (context manager) 가 정의한 메서드를 사용하여 코드 블록의 실행을 래핑하는 데 사용됩니다. 컨텍스트 관리자는 __enter____exit__ 메서드를 정의하는 객체입니다. with 문은 들여쓰기된 코드 블록의 지속 시간 동안 임시 컨텍스트 관리자를 생성합니다.

open 함수는 열린 파일을 나타내는 파일 객체를 반환하는 내장 Python 함수입니다. 파일을 사용할 때는 시스템 리소스를 확보하기 위해 파일을 사용한 후 닫는 것이 중요합니다. with 문은 코드 블록이 종료될 때 예외가 발생하더라도 파일을 자동으로 닫기 때문에 파일을 더 쉽게 사용할 수 있게 해줍니다.

다음은 with 문을 사용하여 파일을 열고 읽는 방법의 예입니다.

with open('filename.txt', 'r') as f:
    contents = f.read()
    print(contents)

이 예제에서 open 함수는 with 문 내에서 호출되어 읽기 모드로 파일 'filename.txt'를 엽니다. 그런 다음 파일 객체는 as 절에 전달되어 f라는 이름을 받습니다. with 문 다음에 오는 들여쓰기된 코드 블록은 파일 객체 f를 사용하여 파일의 내용을 읽을 수 있습니다.

코드 블록이 종료되면 예외가 발생하더라도 컨텍스트 관리자에 의해 파일이 자동으로 닫힙니다. 즉, 파일 객체의 close 메서드를 명시적으로 호출할 필요가 없습니다.

파일 객체의 수명을 관리하기 위해 with 문을 사용하는 것은 파일을 수동으로 열고 닫는 것보다 권장됩니다. 이는 더 간결하며 예외가 발생하더라도 파일이 항상 제대로 닫히도록 보장하기 때문입니다.

요약

이 랩에서는 Python 에서 파일을 읽고 쓰는 방법을 배웠습니다. 파일을 열고 닫고, 내용을 읽고 쓰고, 더 고급적인 방식으로 파일 내용을 처리하는 방법을 살펴보았습니다. 또한 파일에 액세스하는 방식을 제어하기 위해 파일을 열 때 다양한 모드를 사용하는 방법도 살펴보았습니다.

이 랩을 마치면 Python 에서 파일을 자신 있게 읽고 쓸 수 있게 될 것입니다.