코드를 사용해 프로그램에서 파일을 불러오거나, 읽거나, 파일에 내용을 쓰거나 추가할 수 있다!
기본적으로 아래와 같은 형태로 사용한다.
파일객체 = open("파일명", "모드")
사용할 수 있는 모드는 아래와 같다. 모드를 설정해줌으로써 이 파일을 가지고 어떤 작업을 수행할 것인지를 지정할 수 있다.
파일을 열고 작업을 수행한 후에는 반드시 파일을 닫아줘야 한다.
파일객체.close()
파일을 닫지 않으면 메모리 누수가 발생한다 😢
"w" 또는 "a" 모드를 설정하면 파일에 원하는 데이터를 저장할 수 있다.
f = open("example.txt", "w")
f.write("hello world")
f.close()
해당 코드를 실행하면 example.txt 파일이 생성된다. 파일을 열어보면 hello world가 적혀있는 것을 볼 수 있다.
"r" 모드와 같이 사용해 파일의 내용을 읽어올 수 있다.
f = open("example.txt", "r")
content = f.read()
print(content)
f.close()
실행하면 아까 만든 example.txt에 적혀있는 내용인 hello world가 화면에 출력된다.
이 외에도 아래와 같은 읽기 함수들을 사용할 수 있다.
readline() - 파일의 내용을 한 줄씩 읽는다.
readlines() - 파일에 있는 모든 줄을 리스트로 반환해준다.
파일을 닫는 것을 실수로 까먹을 수 있다. 이러한 실수를 방지하기 위해 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()를 해주지 않아도 구문이 종료될 때 자동으로 파일이 닫힌다!