Возможный дубликат:
Что эквивалентно блоку «using» C # в IronPython?
Я пишу какой-то IronPython, используя некоторые одноразовые объекты .NET, и задаюсь вопросом, есть ли хороший «питонический» способ делать это. В настоящее время у меня есть несколько операторов 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()