python-计算文件夹里面的视频总时间
为什么想做这个有时候学习的时候,离线看视频,想知道总视频的时间,从而盘算好每天看多少个视频,或者每天看多久。代码展示先安装moviepy依赖pip install moviepy代码import osfrom moviepy.editor import VideoFileClip as vfcimport timedef folder_movie_files(folder: str) ->
·
为什么想做这个
- 有时候学习的时候,离线看视频,想知道总视频的时间,从而盘算好每天看多少个视频,或者每天看多久。
代码展示
- 先安装moviepy依赖
pip install moviepy
- 代码
import os
from moviepy.editor import VideoFileClip as vfc
import time
def folder_movie_files(folder: str) -> list[str]: # 一个文件夹里面有多少视频文件
movie_type = ('.flv', '.mp4', '.avi') # 这里代表你需要计算视频的后缀
file_list = []
for a, b, c in os.walk(folder):
for filename in c:
if filename.endswith(movie_type):
file_path = os.path.join(a, filename)
file_list.append(file_path)
print(folder, ": 有", len(file_list), "个视频文件")
return file_list
def single_movie_time(movie_path: str) -> int: # 计算单个视频的时间
time = 0
try:
movie = vfc(movie_path)
# print(movie_path, "正在计算...")
time += movie.duration
movie.close()
except:
print(movie_path, '该文件出现异常')
return time
def folders_movie_times(folders: list[str]) -> int: # 一个文件夹列表中的movie有多少页
print("正在计算...")
movie_files = []
for folder in folders:
movie_files += folder_movie_files(folder)
time = 0
movie_files_len = len(movie_files)
count = 0
for movie_path in movie_files:
time += single_movie_time(movie_path)
count += 1
print("已完成%.2f" % (count * 100 / movie_files_len), "%")
return time
if __name__ == '__main__':
time_start = time.time()
path = ["目录"]
time_count = folders_movie_times(path)
print("总视频时间:", round(time_count, 2), "秒")
print("总视频时间:", round(time_count / 60, 2), "分钟")
print("总视频时间:", round(time_count / 60 / 60, 2), "小时")
time_end = time.time()
print("程序运行时间:", round(time_end - time_start, 2), "秒")

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)