Python上下文管理器类型
在python中,with语句支持运行时上下文。上下文由上下文管理器定义。使用上下文管理器,我们可以创建用户定义的类来定义运行时上下文。它在执行语句主体之前进入任务,并且在语句主体完成时结束。
上下文管理器有两种不同的方法。这些方法是-
方法__enter__()
__enter__()方法用于输入运行时上下文。它将返回当前对象或另一个相关对象。返回的值绑定到with语句的as子句中的标识符。
方法__exit__(exc_type,exc_val,exc_tb)
__exit__()方法用于返回布尔类型的结果。它指示发生的任何异常。如果with语句有一个异常,它将转到末尾。
范例程式码
class MyFileManager:
def __init__(self, fname):
self.file_name = fname
def __enter__(self):
self.myFile = open(self.file_name, 'r')
return self.myFile
def __exit__(self, exc_type, exc_val, exc_tb):
if self.myFile:
self.myFile.close()
with MyFileManager('sampleTextFile.txt') as myFile:
x = myFile.read()
print(x)输出结果
Test File.
We can store different contents in this file
~!@#$%^&*()_+/*-+\][{}|:;"'<.>/,'"]热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短