- . ( ).
, :
f = open(path, "w")
. . , :
f.close()
:
f = open(path, "w")
data = 3/0
f.write(data)
f.close()
, , . (CPython , , )
A , , :
with open(path, "w") as f:
data = 3/0
f.write(data)
with . : threading.Lock()
lock = threading.Lock()
with lock:
do stuff...
, , try: ... finally: ..., , , __enter__ __exit__. .
__enter__() __exit__() .
__enter__() , , __exit__(), ( __exit__(), )
contextlib. .