有小伙伴说杜老师说侧边栏随机图片素材太少,翻来覆去只有那么几张。为了充实随机图片,杜老师采集了一个图片网站。奈何能力有限,某些图片采集失败,保存为空文件,所以需要编写一个脚本,来验证图片是否为正常。
代码需求
使用 Python 语言编写一个小项目,需要遍历指定目录下所有子目录「子目录名称为中文」
验证子目录下的图片文件是否能正常打开,如果能则跳过,如果无法正常打开则返回其路径。
变更解释
使用 os
模块来遍历目录和子目录;
使用 PIL
库来验证图片文件是否能正常打开。
注意事项
请确保安装了 Pillow 库,可以使用下面的命令来安装:
将 root_directory
变量设置为需要遍历的目录路径:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| import os from PIL import Image
def validate_images_in_directory(root_dir): invalid_image_paths = [] for dirpath, dirnames, filenames in os.walk(root_dir): for filename in filenames: if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.gif', '.bmp')): file_path = os.path.join(dirpath, filename) try: with Image.open(file_path) as img: img.verify() # 尝试验证图片文件 except (IOError, SyntaxError) as e: invalid_image_paths.append(file_path) return invalid_image_paths
if __name__ == "__main__": root_directory = '指定目录路径' # 替换为实际的目录路径 invalid_images = validate_images_in_directory(root_directory) if invalid_images: print("无法打开的图片文件路径:") for path in invalid_images: print(path) else: print("所有图片文件都能正常打开。")
|
执行代码
注意:将上面的代码保存为 images.py
文件,然后在命令行中执行上面的命令。
条评论