파이썬에서 파일을 읽고 관리하는 방법에 대해 알아보자
open() 함수
open() 함수는 파일 객체를 반환한다
주로 두개의 인수와 함께 사용된다: open(filename, mode)
file = open('readme.txt', 'w')
첫 번째 인수 filename 는 파일이름을 포함한 문자열이다
(예시는 열려는 readme.txt 파일이 현재 파일과 같은 디렉토리/폴더 내에 있는 경우이다. 만약 다른 경로에 있다면 경로명으로 나타낸다)
두번째 인수 mode 는 열 파일이 어떻게 사용될지를 표현한 문자이다
주로 사용하는 mode 와 의미는 다음과 같다:
‘r’ (read) : 읽기 위해 열기 (읽기 외에 쓰기 등은 불가능)
‘w’ (write) : 쓰기 위해 열기, 이전 내용을 덮어씀
‘a’ (append) : 쓰기 위해 열기, 이전 내용 끝에 새 내용 추가
open() 함수를 with키워드와 함께 쓰지 않는다면 .close() 로 파일을 닫아 사용되었던 시스템 리소스를 자유롭게 해줘야 한다
file = open("readme.txt","r") # read mode
print(file.read()) # 파일의 내용을 출력함
file.close() # Don't forget freeing your file
파일 객체를 다룰 때는 with 키워드를 사용하는 것이 좋다
with를 사용하면 코드 실행 도중 예외가 발생하더라도 작업이 끝난 뒤 파일이 제대로 닫힌다는 장점이 있다 (.close() 메서드를 사용할 필요가 없다!!)
또한 with를 사용하는 것이 먼저 설명한 예시코드블럭보다 훨씬 간결하다
with open("readme.txt", "r") as file:
print(file.read())
# 파일이 잘 닫혔나 확인하기
file.closed # True
마지막으로 with키워드와 함께 파일을 여러 모드로 열어보았다
# other modes
with open("readme.txt", "w") as file: # write mode : new txt
file.write("Hello World!")
print(file.read()) # 이전 내용은 지워지고 Hello World! 가 내용을 대체한 것을 확인할 수 있다
with open("readme.txt", "a") as file: # append mode : add txt
file.write("Hello World!")
print(file.read()) # 이전 내용을 유지하고 Hello World! 가 추가된 것을 확인할 수 있다
참고 사이트
'Language > Python' 카테고리의 다른 글
| Python ) List Comprehension (0) | 2026.01.16 |
|---|---|
| Python ) Iterator 와 Generator (0) | 2026.01.15 |
| Python ) Variable Naming (변수 명명법) (0) | 2026.01.13 |
| Python ) Built-in Data Structure (0) | 2026.01.12 |
| Python ) Class: Object, Attribute, Method (0) | 2026.01.11 |