这是我用来检查存储在许多文件夹中的文件格式的代码:
check_image_format():
import imghdr as ih
def check_image_format(image_dir):
for root, dirs, files in os.walk(image_dir):
for image in files:
format = ih.what(image)
if format != 'jpeg' or format != 'png':
return -1
return 0
主要():
def main(_):
# Check the correct format of images
ret = check_image_format('img_dir')
if(ret == -1):
print("Some images are not in the correct format. Please check")
我的img_dir
是包含我要检查的图像的其他三个子文件夹的根目录。
当我启动程序时,我收到了这个错误:
IOError: [Errno 2] No such file or directory: img_1.jpg
但该文件存在且位于子文件夹中。 这个错误的原因是什么?
答案 0 :(得分:1)
您需要为当前图像路径构建绝对路径:
import imghdr as ih
def check_image_format(image_dir):
for root, dirs, files in os.walk(image_dir):
for image in files:
format = ih.what(os.path.join(root, image))
if format != 'jpeg' or format != 'png':
return -1
return 0