提交 206aec57 编写于 作者: C Corey Schafer

Python Context Managers code snippets

上级 fab06d09
import os
from contextlib import contextmanager
@contextmanager
def change_dir(destination):
try:
cwd = os.getcwd()
os.chdir(destination)
yield
finally:
os.chdir(cwd)
with change_dir('Sample-Dir-One'):
print(os.listdir())
with change_dir('Sample-Dir-Two'):
print(os.listdir())
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
\ No newline at end of file
class Open_File():
def __init__(self, destination):
pass
def __enter__(self):
pass
def __exit__(self, exc_type, exc_val, traceback):
pass
#### Using contextlib ####
@contextmanager
def open_file(file, mode):
f = open(file, mode)
yield f
f.close()
with open_file('sample.txt', 'w') as f:
f.write('Lorem ipsum dolor sit amet, consectetur adipiscing elit.')
print(f.closed)
#### CD Example ####
cwd = os.getcwd()
os.chdir('Sample-Dir-One')
print(os.listdir())
os.chdir(cwd)
cwd = os.getcwd()
os.chdir('Sample-Dir-Two')
print(os.listdir())
os.chdir(cwd)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册