#! 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))