我用im = Image.open("XXXX")读入了一张图片之后,获取了我想要的值,之后我要把这张图片删除掉,但是会报这张图片正在被使用中
有没有类似于im.close()之类的,将加载的图片资源释放掉
python PIL的问题
答案:3 悬赏:60
解决时间 2021-12-31 00:08
- 提问者网友:醉归
- 2021-12-30 02:50
最佳答案
- 二级知识专家网友:佛说妍妍很渣
- 2021-12-30 03:58
我能想的的是,不用 Image.open("XXXX")读文件,因为会有之后的惰性操作,
改用ImageFile从另一个open的图片文件中读到内存里面,读完也可以删除原文件
import ImageFile
fp = open("1.png", "rb")
p = ImageFile.Parser()
while 1:
s = fp.read(1024)
if not s:
break
p.feed(s)
im = p.close()
im.save("copy.jpg")
改用ImageFile从另一个open的图片文件中读到内存里面,读完也可以删除原文件
import ImageFile
fp = open("1.png", "rb")
p = ImageFile.Parser()
while 1:
s = fp.read(1024)
if not s:
break
p.feed(s)
im = p.close()
im.save("copy.jpg")
全部回答
- 1楼网友:哭不代表软弱
- 2021-12-30 06:23
import image
im = image.open("2.bmp")
im = im.split() #分割成三个通道
im[0].show()
im[1].show()
im[2].show()
- 2楼网友:我的任性你不懂
- 2021-12-30 05:01
Image 是python的图像处理接口类,你调用 im = Image.open("XXXX") 后是生成了一个 这个类的对象 im 而这个接口类中没有对就的 close 方法 ,这个图像对象生成后 你可以使用,当你要是不用了,你可以调用 im.destroy() ,将对象销毁。你可以试试
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯