给我代码跳过非图片文件
时间: 2024-09-30 16:05:55 浏览: 22
selenium 反爬虫之跳过淘宝滑块验证功能的实现代码.zip
5星 · 资源好评率100%
为了避免 `UnidentifiedImageError` 因为非图片文件(如`.DS_Store`)引起的,可以在遍历文件列表时加入文件类型检查。你可以使用Python的`os.path.splitext()`函数来判断文件是否为图片。以下是一个示例:
```python
import os
# ... 其他代码 ...
def filter_files(filelist):
return [file for file in filelist if not file.endswith(('.DS_Store',)) and is_image_file(file)]
# 更新文件列表处理部分
files_list_filtered = filter_files(files_list)
for x_path in files_list_filtered and pbar:
file_name = x_path.split('/')[-1]
file_names, ys = extractor(x_path, model, use_gpu, file_name)
#... 剩下的代码不变 ...
```
这里我们定义了一个辅助函数 `filter_files`,通过 `endswith()` 函数检查文件扩展名,如果不是 `.DS_Store` 或者其他的非图片扩展名(例如,可以根据需求添加更多的检查),则保留这个文件。然后更新 `files_list` 为过滤后的结果再继续后续处理。
这样,只有真正的图片文件会被传递给 `extractor` 函数。
阅读全文