뇌를 자극하는 파이썬 질의응답 게시판입니다.
2017-01-01
by youngki6
1535
from contextlib import contextmanager
@conextmanager
def 함수이름():
# 자원 획득
try:
yield 자원
finally:
# 자원 해제
로 설명해 주셨는데요,
open3.py를 아래와 같이 변경하면, 어떠세요?
from contextlib import contextmanager
@contextmanager
def open3(path):
try:
print("opening file...")
file = open(path)
print("yielding file...")
yield file
finally:
print("closing file...")
file.close()
with open3("test.txt") as file:
s = file.read()
print(s)