[Python] with로 파일 읽기/쓰기
July 09, 2024
with 키워드를 이용하여 파일을 읽고 쓰는 방법에 대해서 알아보겠습니다.
1. with를 사용하지 않고 파일 열기
with를 사용하지 않고 파일을 열면, 파일을 모두 사용하고 close()
로 파일을 닫아줘야 합니다.
만약 파일을 닫지 않으면 프로세스에 파일이 열린 상태로 되어있고, 이런 것이 누적되어 파일을 열 수 없는 상황이 발생할 수 있습니다.
file = open('sample.txt', 'r')
# 파일 내용 읽기
file_contents = file.read()
# 파일 내용 출력
print(file_contents)
# 파일 닫기
file.close()
2. with로 파일 열기
with를 사용하여 파일을 열면, with 구문이 종료될 때 저절로 파일이 닫힙니다. 따라서, 명시적으로 닫아줄 필요가 없어서 실수로 리소스 leak이 발생하는 일이 없게 됩니다.
아래와 같이 with를 사용하여 파일을 열 수 있습니다.
open('sample.txt', 'r')
: read 모드로 파일 열기file.read()
: 파일 내용 읽기
# 파일을 읽기 모드로 열기
with open('sample.txt', 'r') as file:
# 파일 내용 읽기
file_contents = file.read()
# 파일 내용 출력
print(file_contents)
3. with로 파일 쓰기
with로 파일을 쓰려면, 아래와 같이 w
모드로 파일을 열면 됩니다.
open('sample.txt', 'w')
: write 모드로 파일 열기file.write('Hello,\n')
: 파일에 문자열 쓰기
# 파일을 쓰기 모드로 열기
with open('sample.txt', 'w') as file:
# 파일에 쓰기
file.write('Hello,\n')
file.write('Python!\n')
4. with를 사용하여 append 모드로 파일 열기
append 모드는 파일을 쓰기 모드로 열 때, 파일의 내용을 지우지 않고 기존 파일의 마지막에 추가로 내용을 쓰는 모드입니다.
open('sample.txt', 'a')
: 파일을 append 모드로 열기
# 파일을 쓰기 모드로 열기
with open('sample.txt', 'a') as file:
# 파일에 쓰기
file.write('파일 마지막에 문장을 추가합니다.\n')
file.write('다음 문장.\n')