首页 > 编程语言 >python获取视频时长并移动到对应时长的文件夹下

python获取视频时长并移动到对应时长的文件夹下

时间:2024-03-29 12:55:05浏览次数:35  
标签:python 文件夹 file print path dir 时长

import os
import shutil
from moviepy.editor import VideoFileClip

# 获取所有文件
def getAllFiles(fire_dir):
    filepath_list = []
    for root,folder_names,file_names in os.walk(fire_dir):
        for file_name in file_names:
            file_path = root+os.sep+file_name
            filepath_list.append(file_path)
            print(file_path)
    print(filepath_list)
    return filepath_list

#获取指定文件夹下所有MP4文件的时长
def getFileNames(path,houzui=".mp4"):
    return [os.path.join(path,f) for f in os.listdir(path) if f.endswith(houzui)]


#获取视频时长
def getTimeLong(videoFile):

    clip = VideoFileClip(videoFile)
    sicahng = clip.duration
    print(sicahng) # seconds
    clip.close()
    return sicahng

#如果不存在就创建
def createDir(file_dir):
    # 如果不存在文件夹,就创建
    if not os.path.isdir(file_dir):
        os.mkdir(file_dir)

#移动文件到指定文件夹下的yiqiege目录
def moveFile(zhidingmulu,file_path):
    # # 将已经切割的移动到已经切割文件夹gen_dir
    # zhumulu = str(gen_dir).strip(gen_dir.split("\\")[-1])
    # # 创建文件夹
    # qiegewenjianjia = r"%s\yiqiege" % zhumulu
    # print("切割文件夹名字:")
    # print(qiegewenjianjia)
    # createDir(qiegewenjianjia)
    try:
        # 移动文件到文件夹目录中
        shutil.move(file_path, zhidingmulu)
        print("移动文件%s到已切割文件夹" % file_path)
    except Exception as e:
        print("移动出错:%s" % str(e))

#获取指定路径下MP4文件的时长
def mp4FIleTime(path,houzui=".mp4"):
    file_list = getFileNames(path,houzui)
    for one in file_list:
        try:
            one_shichang = getTimeLong(one)
            print("%s文件的时长为 %s 秒"%(one,one_shichang))
            zhengshu = int(one_shichang)
            zhengshijia1 = zhengshu+1
            #移动到指定时间的文件夹
            xiaoyu1miao = "%s/大于%s秒小于%s秒"% (path,str(zhengshu),str(zhengshijia1))
            createDir(file_dir=xiaoyu1miao)
            moveFile(zhidingmulu=xiaoyu1miao, file_path=one)

        except Exception as e:
            print("%s文件的时长失败,原因:%s"%(one,str(e)))
            #移动到指定时间的文件夹
            jieshishibai = "%s/解析失败"% path
            createDir(file_dir=jieshishibai)
            moveFile(zhidingmulu=jieshishibai, file_path=one)
            continue





if __name__ == '__main__':
    filePath =r"C:\4k\ceshi\daichuli"
    mp4FIleTime(path=filePath,houzui=".mp4")

 

标签:python,文件夹,file,print,path,dir,时长
From: https://www.cnblogs.com/jingzaixin/p/18103606

相关文章

  • 2023年全国青少年信息素养大赛 第9届Python编程挑战赛北京赛区(小学组)复赛试题解析
    2023年全国青少年信息素养大赛第9届Python编程挑战赛北京赛区(小学组)复赛试题解析T1.求余数题目描述:输入一个正整数,输出这个整数除以5的余数。输入描述:输入一行一个正整数输出描述:输出这个整数除以5的余数样例1:输入:12输出:2#示例代码n=int(input())print(n%5)......
  • 修改文件、文件夹权限
    sudochown-Rdatafocus:datafocusdomainsudochowndatafocus:datafocusfconnector.jar  sudo 是为了获取超级用户权限,因为只有root用户才能改变文件的所有权。chown 是更改文件所有权的命令。-R 参数是递归处理目录以及其下所有文件和子目录,但对于单个文件不......
  • 学python如何找工作
    很多小伙伴加我好友问“行哥,我学python要多久才能找到工作呢?”但是经过行哥的仔细分析之后,发现这个问题很有意思首先每个求职者的在没有描述自己的专业,学历,年龄,性格,每日学习时长,个人学习方法的情况下,所以在你没求职之前,行哥⽆法确定你的求职的状态是够就业还是不事业,所以......
  • 零基础转行学Python有发展前景吗?
    前言Python可用的地方非常多。无论是从入门级选手(爬虫、前端、后端、自动化运维)到专业级数据挖掘、科学计算、图像处理、人工智能,Python都可以胜任。或许是因为这种万能属性,周围好更多的小伙伴都开始学习Python。而现在Python的火爆已经来到了程序员的圈子外,进入了国务院......
  • 来不及细说,毕业三天靠Python兼职赚了两千
    考了英语四六级,没办法用英语交流3分钟。考了普通话证书,却没有一个HR关心这个。不喜欢自己的专业,没有好好学。万万没想到,大学四年,学到最有用的东西是驾驶证。这扎心的现实,每一个都让我崩溃!可是,就算是最有用的驾驶证,在想实现财富自由,轻松赚钱上还是无济于事。但是,当我把......
  • linux文件相关命令 通过文件获取父文件夹名称
    linux文件相关命令通过文件获取父文件夹名称不说废话,先上命令通过文件获取父文件夹名称dirname$(realpath`your_filename`)通过文件路径得到文件名称basename`your_filename`相关命令basenamedirnamerealpathreallinklspwd通过文件获取父文件夹名称......
  • python 去除图片中指定颜色框或线
    目录Python去除图片中指定颜色框或线思路和步骤代码实现示例代码主要特点:一些常用功能:与OpenCV的区别:结语Python去除图片中指定颜色框或线在图像处理中,有时候我们需要对图片进行一些特定颜色框或线的处理,例如去除指定颜色的框或线。Python提供了强大的图像处理库Op......
  • python 根据 字符串生成唯一值
    目录Python根据字符串生成唯一值方法一:利用哈希算法生成唯一值方法二:使用UUID生成唯一值方法三:结合加密算法生成唯一值用户注册唯一标识符UUID(UniversallyUniqueIdentifier)特点:UUID版本:Python中使用UUID:应用场景:Python根据字符串生成唯一值在很多应用场景中,我......
  • Python逆向爬虫入门教程: 千千音乐加密参数 sign 逆向解析
    数据来源分析......
  • 7.Python Spark安装
    7.1Scla安装下载:wget https://scala-lang.org/files/archive/scala-2.13.0.tgz解压:tarxvfscala-2.13.0.tgz移动到/usr/local目录:sudomvscala-2.13.0/usr/local/scala设置Scala环境变量:sudogedit~/.bashrc source~/.bashrc启动scala :q退出7.2安装Sparkwg......