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 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短