面试题答案
一键面试class FileContextManager:
def __init__(self, file_path, mode='r'):
self.file_path = file_path
self.mode = mode
self.file = None
def __enter__(self):
try:
self.file = open(self.file_path, self.mode)
return self.file
except FileNotFoundError as e:
print(f"文件打开失败: {e}")
return None
def __exit__(self, exc_type, exc_val, exc_tb):
if self.file:
self.file.close()
你可以使用以下方式调用这个上下文管理器:
with FileContextManager('test.txt') as file:
if file:
content = file.read()
print(content)