首页 > 编程语言 >python获取指定视频分辨率并移动到相应的文件夹中-2

python获取指定视频分辨率并移动到相应的文件夹中-2

时间:2024-04-08 17:46:45浏览次数:27  
标签:python 分辨率 houzui 文件夹 file print path dir

import os
import shutil
from moviepy.editor import VideoFileClip

# 获取所有文件
def getAllFiles(fire_dir,houzui=".mp4"):
    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
            if file_path.endswith(houzui):  #判断文件是否以指定后缀结尾
                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 getKuanAndGao(videoFile):

    clip = VideoFileClip(videoFile)
    fenbianlv = clip.size # 获取分辨率
    print(fenbianlv)
    clip.close()
    return fenbianlv

#如果不存在就创建
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

#获取指定路径下MP4文件的分辨率
def mp4FIleFenBianLv(path,houzui=".mp4"):
    file_list = getAllFiles(path,houzui)
    for one in file_list:
        try:
            one_fenbianlv = getKuanAndGao(one)
            print("%s文件的分辨率为 %s "%(one,one_fenbianlv))

            #移动到指定时间的文件夹
            xiaoyu1miao = "%s/%sx%s"% (path,one_fenbianlv[0],one_fenbianlv[1])
            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"F:\BaiduNetdiskDownload"
    mp4FIleFenBianLv(path=filePath,houzui=".mp4")

 

标签:python,分辨率,houzui,文件夹,file,print,path,dir
From: https://www.cnblogs.com/jingzaixin/p/18121844

相关文章

  • python获取指定视频分辨率并移动到相应的文件夹中
    importosimportshutilfrommoviepy.editorimportVideoFileClip#获取所有文件defgetAllFiles(fire_dir):filepath_list=[]forroot,folder_names,file_namesinos.walk(fire_dir):forfile_nameinfile_names:file_path=root+os......
  • python下载包过慢 pip 设置镜像
    通过修改配置文件Windows上的配置方式:打开pip.ini文件,通常位于C:\Users\YourUsername\pip\pip.ini,如果文件不存在可以创建它。在pip.ini文件中添加以下内容:[global]index-url=https://pypi.tuna.tsinghua.edu.cn/simpleLinux/macOS上的配置方式:打开或创建~/.pi......
  • linux 环境下 elasticsearch 及 python 相关库的使用
    -elasticsearch是什么?elasticsearch简称es,是一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能。-安装1、下载官网下载地址2、解压tarzxvfelasticsearch-8.13.0-linux-x86_64.tar.gz-C/usr/local/3、解决JDK依赖问题新版本的es压缩......
  • Python大创项目参考 智能家居控制(半成品且未参赛)建议用于电气、计科、通信相关专业—
    (优质长文警告⚠️,全文包含代码共计22000+字,完整阅读时间较长)智能家居行业是指通过互联网、物联网、人工智能等先进技术将家庭设备和设施连接起来,实现智能化控制和管理的新兴产业。本项目参考了github开源“博联智能家居”,采用博联旗下鸿雁系列智能插座和路由,算是二次开发。目......
  • Python实现 时域和频域 数值演变——blog7
    数值演变是指在一定时间段内,数值发生变化或发展的过程。在数值演变过程中,数值可以增加、减少、保持稳定,甚至发生剧烈波动。数值演变可以应用于各个领域,例如经济学、生态学、物理学等。在经济学中,数值演变可以描述经济指标(如GDP、通货膨胀率、失业率等)的变化情况,帮助分析经济发......
  • python WAV音频文件处理—— (1)读写WAV文件
    https://realpython.com/python-wav-files/#visualize-audio-samples-as-a-waveform了解WAV文件格式WAV是一种波形音频文件格式(WaveformAudioFileFormat)。虽然是一种古老的格式(九十年代初开发),但今天仍然可以看到这种文件。WAV具有简单、可移植、高保真等特点。WA......
  • Python学习笔记-001
    记录一下重学python,虽然python老早就接触了,更多的还是停留在语法层面,老c++了。最近打算从头开始系统拉一下python的基础,先预计8天学完。后面还打算系统学一下Numpy,Pandas和Matplotlib。python基础教程python简介检查是否安装python,终端输入python--versionpython是一种解释......
  • python data:image/jpeg;base64为网址的图片改如何下载
    网址以data开头的文件,这里采用base64进行编码。它叫做dataURI scheme,是一种网页优化的手段。让我们直接把图像的内容崁入网页里面,减少页面的请求data:表示协议image/jpg:数据类型编码方式:base64可以通过解码的方式下载图片importbase64defdownload_auth_img(self,im......
  • Github图床 Python Typora
    1.搭建Github图床1.1.创建或者选择一个Public仓库1.2.获取GithubToken2.Typora结合图床当Typora需要使用这个图床的时候,Picgo是很好的解决方案,但是还可以通过其他的方式来进行上传,比如python脚本。2.1.upload-img.pyimportrequestsimportbase64importj......
  • Android的CameraX获得相机支持分辨率的方法
    如题,方法如下:androidx.camera.core.Cameracamera1=cameraProvider.bindToLifecycle(/*lifecycleOwner=*/this,cameraSelector,analysisUseCase);Camera2CameraInfocamera2Info=Camera2CameraInfo.from(camera1.getCameraInfo());Size[]size=cam......