python 批量读取电脑文件夹内视频,获取视频分辨率,过滤删除分辨率较小的文件

直接上代码

import os,time
import cv2

#获取文件夹中的文件名列表
def get_file_list(file_path):
    dir_list = os.listdir(file_path)
    if not dir_list:
        return
    else:
           # 注意,这里使用lambda表达式,将文件按照最后修改时间顺序升序排列
           # os.path.getmtime() 函数是获取文件最后修改时间
           # os.path.getctime() 函数是获取文件最后创建时间
        dir_list = sorted(dir_list,key=lambda x: os.path.getmtime(os.path.join(file_path, x)))
           # print(dir_list)
        return dir_list

file_path = 'E:/视频下载/'

dir_list = get_file_list(file_path)

def main():
    for dir in dir_list:
        width,height = get_vedio_height_width(file_path+dir)
        print(dir,width,height)
        if int(height) < 720 :
            os.remove(file_path+dir)
            print(dir,"移除成功")
            
#获取使用cv2获得视频的分辨率width和height。
def get_vedio_height_width(filename):
    cap = cv2.VideoCapture(filename)
    width = cap.get(cv2.CAP_PROP_FRAME_WIDTH )
    height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
    print(width,height)
    return width,height

main()

你可能感兴趣的:(python学习案例)