在Python中,不将未保存到变量的文件关闭是一种不良实践吗?
- 论坛
- 在Python中,不将未保存到变量的文件关闭是一种不良实践吗?
10 浏览
匿名的
0 Comments
在Python中,不关闭未保存到变量的文件是一种不良的做法。这种行为的出现是因为一些人可能会错误地将垃圾回收和引用计数混淆起来。在CPython中,使用open(...).write(...)
的方式会得到期望的行为,因为在该行执行完毕后,文件对象的引用计数将降为0,并立即被删除。然而,这并不是一种推荐的做法。使用with
语句更加优雅、可读和符合Python风格,并且显性比隐性更好。虽然这种行为在CPython中是特定的行为,但也不是一种有保证的行为。未来的CPython版本可能会决定放弃引用计数,像Jython和IronPython一样改用垃圾计数。因此,为了避免不确定性,建议始终使用with
语句来关闭文件。