#! python3
# -*- coding:utf-8 -*-
# find_image_folders.py - 扫描整个硬盘,寻找"照片文件夹",
# 假设定义"照片文件夹"就是超过半数文件都是照片的任何文件夹,
# 照片必须是png或jpg文件,照片的宽度和高度必须大于500像素.
import os
from PIL import Image
for foldername, subfolders, filenames in os.walk('C:\\'): # 遍历c盘
pN = 0 # 记录文件夹中是照片的文件数量
nPN = 0 # 非照片的文件数量
for filename in filenames:
filename = filename.lower() # 保证扩展名大小写都可以识别
if not (filename.endswith('.png')\
or filename.endswith('.jpg')):
nPN += 1 # 如果不是图片文件就其他文件数加1
continue # 继续遍历下个文件
try:
im = Image.open(os.path.join(foldername, filename)) # 打开图片文件
width, height = im.size
if width > 500 and height > 500: # 如果图片的宽高都大于500,是照片
pN += 1
else:
nPN += 1
except OSError:
continue # 如果图片无法识别,跳过
if pN > nPN:
print('照片文件夹: ' + os.path.join(foldername))