【发布时间】:2021-11-10 13:19:41
【问题描述】:
为什么导入的模块在 Python 析构函数中不可用(__del__ 方法)?可以通过某种方式提供吗?
例如,在解释器关闭期间调用__del__ 时会失败:
import datetime as datetime
class A:
def __init__(self):
self.start = datetime.now()
def __del__(self):
self.end = datetime.now()
a = A()
日期时间在构造函数中可用,而在调用析构函数时不可用。可能模块现在已经清理了,但是有什么方法可以确保 datetime 仍然可用?
【问题讨论】:
-
失败的代码在哪里?
-
@NielGodfreyPonciano 现已添加。
-
是的,但是有没有办法可以创建对 datetime 模块的引用,它不会让 datetime 被清理?
标签: python python-3.x destructor