我正在编写一些使用一些可释放的.NET对象的IronPython,并想知道是否有一种很好的“pythonic”方法来做到这一点。目前,我有一堆finally语句(我想每个语句中都应该检查None - 或者如果构造函数失败,变量甚至不会存在吗?)
def Save(self):
filename = "record.txt"
data = "{0}:{1}".format(self.Level,self.Name)
isf = IsolatedStorageFile.GetUserStoreForApplication()
try:
isfs = IsolatedStorageFileStream(filename, FileMode.Create, isf)
try:
sw = StreamWriter(isfs)
try:
sw.Write(data)
finally:
sw.Dispose()
finally:
isfs.Dispose()
finally:
isf.Dispose()