因此,我想编写一个脚本,该脚本只提供文件夹或文件的路径,然后它将检测所有视频和图像文件,并将它们放在视频列表和图像列表中。对于每个视频,我将编辑帧并生成输出视频。然后,我将对所有图像执行相同的操作。但是,确定文件是有效图像还是视频的最佳方法是什么?还是我必须做这样的事情:
# if os.path.isdir(path_to_folder)
video_list = []
image_list = []
for file in os.listdir(path_to_folder):
try:
cv2.VideoCapture(file)
video_list.append(file)
continue
except:
pass
try:
cv2.imread(file)
image_list.append(file)
continue
except:
pass
我真的希望有更好的方法可以做到这一点。我什至没有测试这段代码,它是如此草率,我不想不必诉诸这种方法。
答案 0 :(得分:1)
有一个专门用于此目的的库。它肯定会简化任务。
安装HERE中的库文件类型,可以使用pip
轻松安装。还提到了支持的文件类型列表。
import filetype
file = filetype.guess(r'C:\Users\Jackson\Desktop\car.png')
if file is None:
print('Cannot guess file type!')
elif:
print('File extension: %s' % file.extension)
print('File MIME type: %s' % file.mime)
我传入了一个.png
文件,结果是:
File extension: png
File MIME type: image/png
使用mime
属性可以确定文件的类型。