Короче говоря, у меня есть существенное приложение Python, которое, среди прочего, выделяет "losetup", "mount" и т.д. в Linux. По существу потребляющие системные ресурсы, которые должны быть выпущены по завершении.
Если мое приложение выйдет из строя, я хочу, чтобы эти системные ресурсы были правильно выпущены.
Имеет ли смысл делать что-то вроде следующего?
def main():
# TODO: main application entry point
pass
def cleanup():
# TODO: release system resources here
pass
if __name__ == "__main__":
try:
main()
except:
cleanup()
raise
Это что-то, что обычно делается? Есть ли способ лучше? Возможно, деструктор в одноэлементном классе?