python不下载获取远程图片的宽度和高度及文件大小的方法
python中处理图片可以使用PIL库,PIL全称Python Imaging Library,就是python图形处理库的意思。在PIL中,可以使用Image.open来打开一个图片文件,但是笔者试了下,不能打开url地址的图片。如果要先把图片下载下来,存储到磁盘上,才能进行操作,那也太麻烦了。有没什么办法可以直接打开url地址的图片呢?
笔者提供一个方法:下载图片还是必须的,只是不存储到磁盘上,而是存储到内存里,这样就不会在磁盘上产生一堆的临时图片了。代码如下:
""" 作者:皮蛋编程(https://www.pidancode.com) 创建日期:2022/3/25 功能描述:python不下载获取远程图片的宽度和高度及文件大小的方法 """ from io import BytesIO from PIL import Image import urllib.request url = 'https://www.pidancode.com/static/project/img/logo-black.png' file = urllib.request.urlopen(url) tmpIm = BytesIO(file.read()) im = Image.open(tmpIm) print(im.format, im.size, im.mode)
主要是使用io库的方法,将内容存放到内存,而后用Image.open方法打开这个文件,就能进行图片的操作了。
相关文章