gpt4 book ai didi

python - 使用 PIL 时释放内存

转载 作者:太空狗 更新时间:2023-10-30 00:08:02 27 4
gpt4 key购买 nike

我正在使用 PIL(Python 图像库)编辑图像。每一步(转换、旋转、调整大小...)都会创建更多图像。 (文档摘录:“返回旋转给定度数的图像副本......”)所以我想释放内存。

你知道下面的做法是否节省内存吗?

import PIL.Image

image = PIL.Image.open('Image.jpg')
garbage = image
image = image.convert('RGB')
del garbage

最佳答案

您不需要创建临时的垃圾 引用。

当这条语句的右侧被执行时:

image = image.convert('RGB')

创建了一个新的 Python 对象。

通过将它重新分配给 imageimage 用来表示的旧对象的引用计数减少到零,并被发送到垃圾收集器。

然而,与 Python 的工作方式无关,我看到了 PIL 问题,其中由于真正的错误而形成了内存泄漏。例如,这里讨论了使用绘制文本时的问题:

PIL Draw Text Memory Leak

我知道这是一个非常古老的讨论,但我仍然在使用 PIL 时有时会看到它出现!

关于python - 使用 PIL 时释放内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11317847/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com