问答

如何在__del__()中执行复杂的操作?

作者:admin 2021-04-18 我要评论

我想实现一个功能,在一个类销毁时把一些数据记录到excel,我用的方法是在__del__()里使用openpyxl。但当程序终止时自动执行的__del__()会触发异常。应该是pytho...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

我想实现一个功能,在一个类销毁时把一些数据记录到excel,我用的方法是在__del__()里使用openpyxl。但当程序终止时自动执行的__del__()会触发异常。应该是python退出时进入了某种状态导致的,不同用法触发不同错误。如果用新建xlsx方式,在save时会触发ImportError: sys.meta_path is None, Python is likely shutting down异常。

因为对象何时关闭是不可预知的,我只想到__del__()的方法。请问有什么办法实现我想要的功能?谢谢。
image
image

###

可以参考下官方文档https://docs.python.org/3/reference/datamodel.html
对于你说的这种场景,是否有具有的实例可以完善下,以方便参考

###

在Python中不建议自定义__del__方法,具体原因见官方文档

###

我试了一下,在__del__中文件io是没有效果的。但连接数据库没有问题哦。你可以考虑把数据存到本地或内存sqlite数据库里。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • nginx响应速度很慢

    nginx响应速度很慢

  • 点击选中的多选框,会在已选那一栏显示

    点击选中的多选框,会在已选那一栏显示

  • PHP 多态的理解

    PHP 多态的理解

  • 关于C语言中static的问题

    关于C语言中static的问题

腾讯云代理商
海外云服务器