问题描述
我有张量流模型,在训练的第一部分期间,它会一直工作到大约中点 (735/2201 [==========>.......... ..........]) 然后返回标题中的错误。
首先,我制作了一个脚本来删除该目录中所有不以 .jpg 结尾但没有任何变化的文件。
import os
for file in os.listdir(path):
if not file.endswith('.jpg'):
os.remove(os.path.join(path,file))
然后我打开我的 macs bash 并列出目录中的所有文件以查看任何隐藏文件,但它们都只是 jpg。
编辑:
nessuno 的回答是正确的,但您必须遍历绝对路径而不仅仅是文件名,这样的事情应该可以工作
import os
import imghdr
#define your path
path = ''
files = os.listdir(path)
for file in files:
format = imghdr.what(os.path.join(path,file))
if format != 'jpeg':
os.remove(os.path.join(path,file))
解决方法
您的 path
中有一些文件具有 .jpg
扩展名,但它包含不同的文件格式。
您可以使用 imghdr
库(Python 本身附带的:https://docs.python.org/3/library/imghdr.html)并检查标头是否等于 jpeg
并在这种情况下删除图像。
简而言之,您可以将脚本更改为:
import os
import imghdr
for file in os.listdir(path):
if imghdr.what(file) != 'jpeg':
os.remove(os.path.join(path,file))