[Python] 파일 입출력

orangesnail·2025년 3월 4일

Python

목록 보기
10/21

코드를 사용해 프로그램에서 파일을 불러오거나, 읽거나, 파일에 내용을 쓰거나 추가할 수 있다!

open()

기본적으로 아래와 같은 형태로 사용한다.

파일객체 = open("파일명", "모드")

사용할 수 있는 모드는 아래와 같다. 모드를 설정해줌으로써 이 파일을 가지고 어떤 작업을 수행할 것인지를 지정할 수 있다.

  • "r" - 읽기 모드(파일이 존재해야 됨)
  • "w" - 쓰기 모드(파일이 없으면 생성하고, 있다면 기존의 내용이 삭제됨)
  • "a" - 추가 모드(파일이 없으면 생성하고, 있다면 기존의 내용 뒤에 덧붙임)
  • "b" - 바이너리 모드(이미지나 영상 같은 파일을 처리하는데 쓰인다.)
  • "r+" - 읽기 + 쓰기 모드(기존의 파일을 유지하면서 읽고 쓰는 것이 가능함)

close()

파일을 열고 작업을 수행한 후에는 반드시 파일을 닫아줘야 한다.

파일객체.close()

파일을 닫지 않으면 메모리 누수가 발생한다 😢

write()

"w" 또는 "a" 모드를 설정하면 파일에 원하는 데이터를 저장할 수 있다.

f = open("example.txt", "w")
f.write("hello world")
f.close()

해당 코드를 실행하면 example.txt 파일이 생성된다. 파일을 열어보면 hello world가 적혀있는 것을 볼 수 있다.

read()

"r" 모드와 같이 사용해 파일의 내용을 읽어올 수 있다.

f = open("example.txt", "r")
content = f.read()
print(content)
f.close()

실행하면 아까 만든 example.txt에 적혀있는 내용인 hello world가 화면에 출력된다.
이 외에도 아래와 같은 읽기 함수들을 사용할 수 있다.

readline() - 파일의 내용을 한 줄씩 읽는다.
readlines() - 파일에 있는 모든 줄을 리스트로 반환해준다.

with open()

파일을 닫는 것을 실수로 까먹을 수 있다. 이러한 실수를 방지하기 위해 with open()문을 쓰곤 한다.

lines = ["첫 번째 줄\n", "두 번째 줄\n", "세 번째 줄\n"]

with open("lines.txt", "w") as f:
    f.writelines(lines)

with open("lines.txt", "r") as f:
    result = f.read()
    print(result)

with open()을 사용하면 따로 close()를 해주지 않아도 구문이 종료될 때 자동으로 파일이 닫힌다!

profile
초보입니다. 피드백 환영합니다 😗

0개의 댓글