你是否遇到过下载的图片会发现有些图片会无法预览情况?
有几种原因可能导致一些图片在预览时无法正常显示:
如何实现批量删除无法预览的图片呢?
import os
from PIL import Image
def is_image_valid(file_path):
try:
# 尝试打开给定路径的图像文件
Image.open(file_path)
# 如果能够正常打开,表示文件是有效的图片文件,返回 True
return True
except (IOError, SyntaxError):
# 如果打开文件时出现 IOError 或 SyntaxError,表示文件不是有效的图片文件,返回 False
return False
def delete_invalid_images(folder_path):
# 遍历指定文件夹中的文件
for filename in os.listdir(folder_path):
# 拼接文件路径
file_path = os.path.join(folder_path, filename)
# 检查路径是否是文件并且不是有效的图片文件
if os.path.isfile(file_path) and not is_image_valid(file_path):
# 删除无效的图片文件
os.remove(file_path)
# 输出被删除的文件路径
print(f"Deleted: {file_path}")
if __name__ == "__main__":
folder_path = r'G:\pythonProject\图\img' # 替换成你的图片文件夹路径
delete_invalid_images(folder_path)
效果如下: