046 将文件夹中视频按照横屏竖屏进行分类

代码如下:关键位置自行修改

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import os
import os.path
from tqdm import tqdm
import shutil
import cv2  #视频处理的包opencv
#函数查找指定路径中所有文件的路径
#函数查找指定路径中所有文件的路径
def get_file(path):
    list1=[]#用于存储递归查找到的所有文件,传递给函数
    fileList = os.listdir(path)  # 获取path目录下所有文件
    for filename in fileList:
        pathTmp = os.path.join(path,filename) # 获取path与filename组合后的路径
        if os.path.isdir(pathTmp):  # 如果是目录
            a=get_file(pathTmp) # 则递归查找(注意一定要有接受变量,不然就出错了)
            for i in a:
                list1.append(i)
        else: 
            list1.append(pathTmp)
    return list1

path = input('请输入路径:').strip()  #.strip()去除首尾的空格

file_path_list=get_file(path)

#筛选后缀函数,传入包含所有后缀名的列表,以及需要筛选的后缀(默认筛选txt文件)
def shai_xuan_hou_zhui(file_path_list,hou_zhui='.txt'):

    list2=[]  #用于储存筛选好的文件的路径
    for filepath in file_path_list:
        # os.path.splitext():分离文件名与扩展名
        if os.path.splitext(filepath)[1] == hou_zhui:
            list2.append(filepath)
    #        print(filepath +'\n')

    return list2

# hou_zhui='.jpg'
# py_list=shai_xuan_hou_zhui(file_path_list,'.py')  #筛选py文件
pig_list=shai_xuan_hou_zhui(file_path_list,'.flv')   #筛选flv格式文件



folder1= "F:\\火萤视频\\横" #存放横视频的地址
folder2= "F:\\火萤视频\\竖"  #存放的地址,这里的横竖一定不要写错了

for i in tqdm(range(len(pig_list))):
    lujing=pig_list[i]
    cap=cv2.VideoCapture(lujing)
    width=cap.get(3)  #获取帧宽
    height=cap.get(4)  #获取帧高
    cap.release()  #用来释放资源不然就没法进行移动了
#     print(width)
#     print(height)
#     cap.close()
    if width > height:
        shutil.move(lujing,folder1)  #进行移动的操作
    else:
        shutil.move(lujing,folder2)