반응형
python에서 파일의 입출력(저장, 읽기, 쓰기)을 지원하는 명령어들이 있다.
with문은 파이썬 내에서 파일의 입출력등을 할때 자동으로 close() 해주어 편리하게 사용할 수 있는 기능이다.
예를 들어,
먼저 test.txt라는 파일을 생성하고 내용을 적어보자 기존에는 아래와 같은 방법을 사용했다.
기존
file = open("test.txt", 'w')
file.close()
file = open("test.txt", 'w',encoding='utf-8')
file.write("안녕하세요 codemonkyu입니다.")
file.close()
제대로 나온것을 확인 할 수 있다. 기존에는 file을 매번 닫아줬어야했다.
하지만 with문을 쓰면 file.close()를 까먹는 실수를 하지 않을 것이다.
with문
#기존코드
f = open("test1.txt", 'w')
f.write("Life is too short, you need python")
f.close()
#with문
with open("test1.txt", "w") as f:
f.write("Life is too short, you need python")
파일 열기 모드
- 파일열기모드: 파일열기모드란 파일을 Binary형태로 읽을지 아니면 인코딩단위로 읽을지, 파일을 읽을건지 쓸건지 아니면 동시에 할건지에 대한 부분을 정하는 지시자라고 볼 수 있습니다.
- r: 읽기 모드, 파일을 읽을 때 사용합니다.
- w: 쓰기 모드, 파일에 쓸 때 사용하며 파일이 이미 동일한 이름으로 존재한다면 덮어씁니다.
- a: 추가 모드, 존재하는 파일에 추가할 때 사용하며 파일이 없다면 생성합니다.
- r+, w+, a+: 읽기모드 + 쓰기모드, w+와 a+의 차이는 위와 같습니다.
- rb, wb, ab, rb+, wb+, ab+: 각각의 모드들은 위와 동일하나 Binary 포맷으로 읽거나 쓰는걸 진행합니다.
응용
읽기(Read)
with open('file.txt', 'r') as file_data:
for line in file_data:
print(line)
추가(Append)
with open('file.txt', 'a') as file_data:
file_data.write("Third\n")
반응형
댓글