New submission from Ryder Lewis: I'm not sure if this is a bug or expected behavior, but basically what I want to do is log the timestamp when an application exits. Sample script to illustrate the issue:
==== try.py ==== import time class A(): def __init__(self): print("Initializing A. The time is {}".format(time.time())) def __del__(self): if time is None: print("time is None!") else: print("Deleting A. The time is {}".format(time.time())) a = A() raise SystemExit() ===== When running this script multiple times, there are 3 possible outcomes: ==== outcome #1 (happens about 25% of my trial runs, what I would expect is correct behavior) ==== Initializing A. The time is 1400175810.4806361 Deleting A. The time is 1400175810.483156 ==== outcome #2 (happens about 50% of my trial runs) ==== Initializing A. The time is 1400175814.1646852 time is None! ==== outcome #3 (happens about 25% of my trial runs) ==== Initializing A. The time is 1400175809.6802816 Exception ignored in: <bound method A.__del__ of <__main__.A object at 0x7fb125eab5f8>> Traceback (most recent call last): File "./try.py", line 12, in __del__ TypeError: 'NoneType' object is not callable ---------- components: Interpreter Core messages: 218619 nosy: ryder.lewis priority: normal severity: normal status: open title: time module becomes None after raise SystemExit type: behavior versions: Python 3.4 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue21512> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com