Am 15.02.2012 14:52 schrieb Devin Jeanpierre:
On Wed, Feb 15, 2012 at 8:33 AM, Mel Wilson<mwil...@the-wire.com> wrote:
The usual way to do what you're asking is
if __name__ == '__main__':
main()
goodbye()
and write main so that it returns after it's done all the things it's
supposed to do. If you've sprinkled `sys.exit()` all over your code, then
don't do that. If you're forced to deal with a library that hides
`sys.exit()` calls in the functions, then you have my sympathy. Library
authors should not do that, and there have been threads on c.l.p explaining
why they shouldn't.
In such a case. one can do::
if __name__ == '__main__':
try:
main()
except SystemExit:
pass
goodbye()
-- Devin
Wouldn't
if __name__ == '__main__':
try:
main()
finally:
goodbye()
be even better? Or doesn't it work well together with SystemExit?
Thomas
--
http://mail.python.org/mailman/listinfo/python-list