Короче говоря, у меня есть существенное приложение на Python, которое, помимо прочего, превосходит "losttup", "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
Это то, что обычно делается? Есть ли способ лучше? Возможно, деструктор в одиночном классе?