티스토리 뷰

파이썬(Python)의 with ... as 문 뭐 그까잇꺼~

파이썬(Python)의 with구문을 살펴보기에 앞서 파일 처리에 관한 이야기를 먼저 좀 해보도록 하자.

파일 처리에 관해서

파일을 처리하고자 할 경우에 항상 하는 일의 순서는 다음의 과정을 따르게 된다.

1. 파일을 열고

2. 열은 파일을 처리하고

3. 열어 놓은 파일을 닫는다.

1. data_file = open('test.dat')

2. print(data_file.readline(), end='')

3. data_file.close()

그런데 파일을 열었으면 닫아줘야 하는 작업은 항상 해야한다. 화장실 갔다 오면서 지퍼를 안올리면 안되지 않겠는가? ^^ 매번 닫아줘야 하는 반복 작업의 경우 파이썬 인터프리터가 자동으로 닫아주면 좋을 것이다. 빼먹을 염려도 없고 말이다. 이렇게 with as를 쓰면 인터프리터가 자동으로 구문이 끝나면 마무리(?)를 해준다. 사용방법은 다음과 같다.

"with" expression ["as" target] ":" suite

위의 코드를 with ... as로 바꾸면 다음과 같다.
with open('test.dat') as data_file:
print(data_file.readline(), end='')

코드가 심플해진다. 좋군~ 여기 다른 예제도 있다.
with open('output.txt', 'w') as f:
f.write('Hi there!')