思路很简单,过程很波折
1、找到需要的库和方法:目录设置、文件读取、尺寸获取、文件移动
2、debug:文件排除,文件读取错误等
import os,shutil
from PIL import Image
l=l1=os.listdir() # listdir可以读取到子目录和隐藏文件等,于是使用下面的集合推到式过滤出后缀名,这是之后的,之前还或其了ini,通过后缀名过滤掉不需要的文件名/目录名,其实只有两个,一个是子目录,一个是隐藏的ini文件
{i.split('.')[1] for i in l if i.find('.')>0}
Out[78]: {'gif', 'jpg', 'png'}
for i in l1:
if not ('jpg' in i or 'gif' in i or 'png' in i or 'gif' in i):l.remove(i)
for f in l:
img=Image.open(f).size
if img[0]>img[1] and img[1]>=1080:
shutil.move(f,'./CoolMarket+')
# 这个是所有的横大于竖,竖尺寸大于1080的文件,将其移动到子目录
i=0
while i<lens:
img=Image.open(l[i]).size
if img[0]>img[1] and img[1]>=1080:
shutil.move(f,'./CoolMarket+')
i+=1
# 这个是用i和while的方法,因为我遇到了提醒,但之后发现提醒并没有停止程序运行,使用这个方法的妙处在于,知道i在那里出错,而且之后可以继续i之后的运行,调试用
packages\PIL\TiffImagePlugin.py:793: UserWarning: Corrupt EXIF data. Expecting to read 4 bytes but only got 0.
warnings.warn(str(msg))
# 这个是我上面提到的跳出的情况,正如上所说,warning并不会中止程序,只是提醒而已