如何删除没有注释的图片?

How to delete images without annotations?

我有一个包含数千张图片的文件夹。有些图像有一个同名的 txt 文件。例如 abc.jpg 和 abc.txt。我想保留这些图像并删除所有没有 txt 文件的图像。有没有办法做到这一点?

这会将所有 .jpg.png.jpeg 及其各自的 .txt 文件移动到新文件夹。

import os
import shutil
folderdir = "folder_path"
dirs = os.listdir(folderdir)
for i in dirs:
    if i.endswith(".txt"):
        txt = i
        jpg = str(i.split(".txt")[0]) + ".jpg"
        png = str(i.split(".txt")[0]) + ".png"
        jpeg = str(i.split(".txt")[0]) + ".jpeg"
        try:
            shutil.move(folderdir + "/" + jpg, 'dataset')
            shutil.move(folderdir + "/" + txt, 'dataset')
        
        except:
            try:
                shutil.move(folderdir + "/" + png, 'dataset')
                shutil.move(folderdir + "/" + txt, 'dataset')
            except:
                shutil.move(folderdir + "/" + jpeg, 'dataset')
                shutil.move(folderdir + "/" + txt, 'dataset')

print("DONE")