20240110-Python实现读取当前文件夹下所有视频名称和时长并生成一张表

代码

import os
import cv2
import csv# 获取当前文件夹路径
folder_path = os.getcwd()  # 如果当前文件夹就是目标文件夹可以直接使用 './',否则修改为目标文件夹的路径# 获取当前文件夹中所有视频文件的名称
video_files = [f for f in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, f)) and f.endswith(('.mp4', '.avi', '.mov', '.mkv'))]# 创建并打开一个 CSV 文件
output_file = 'video_info.csv'
with open(output_file, 'w', newline='', encoding='utf-8') as csvfile:csv_writer = csv.writer(csvfile)csv_writer.writerow(["视频文件名", "时长"])# 遍历视频文件列表,获取视频时长并写入 CSV 文件for video_file in video_files:video_path = os.path.join(folder_path, video_file)try:cap = cv2.VideoCapture(video_path)fps = cap.get(cv2.CAP_PROP_FPS)frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))duration_seconds = frame_count / fps# 转换为小时、分钟、秒格式hours = int(duration_seconds // 3600)minutes = int((duration_seconds % 3600) // 60)seconds = int(duration_seconds % 60)# 格式化为两位数的时间duration_formatted = f"{hours:02d}:{minutes:02d}:{seconds:02d}"csv_writer.writerow([video_file, duration_formatted])except Exception as e:print(f"无法处理文件 {video_file}: {e}")print(f"已生成文件:{output_file}")

使用Atuo-py-to-exe插件打包成EXE

安装:pip install auto-py-to-exe
安装完成之后,就可以在cmd中输入:auto-py-to-exe来启动程序了
如果报错:‘auto-py-to-exe’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。可以直接找到可执行文件双击运行即可。

插件位置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/337297.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

尺寸链校核软件是什么?手机装配公差的含义是什么?让我们通过DTAS软件案例来解释。

尺寸公差软件 DTAS3D在智能手机装配过程中的应用非常重要,它能够帮助制造商提高产品质量和生产效率。这种软件可以帮助实现更高的装配精度,从而提升整体产品的质量。在这个案例中,DTAS3D的应用对于国产智能手机的装配过程起到了关键作用。 问…

JVM调优工具-VisualVM 远程连接服务器

通过windows系统中的VisualVM工具,监控Linux系统的测试环境或uat环境或生成环境,来监控JVM内存。 VisualVm提供在Java虚拟机(Java Virutal Machine,JVM)上运行的java应用程序。 只有按照了jdk,就可以在bi…

linux --proc文件夹学习笔记

内容在飞书文档: Docshttps://r0dhfl3ujy9.feishu.cn/docx/Xe2wd23MToSmGrxUm9kcVHrPn7g?fromfrom_copylink

Java后端返回的MySQL日期数据在前端格式错误的解决方法,区分jackson和fastjson

写在前面 在写web项目的时候经常会遇到后端返回的MySQL日期数据(date)类型在前端显示不正确的情况,有的时候会出现一串数字的时间戳,有的时候显示为日期晚了一天。 这是因Json给前端返回数据的时候格式问题造成的 解决方法 其实总结起来就是一句话在…

典型的无人机打击技术

无人机打击技术主要指的是用于中和、摧毁或干扰无人机(UAV)的各种技术手段。 这些技术随着无人机的广泛使用而迅速发展,特别是在军事和安全领域。下面是一些主要的无人机打击技术及其原理: 射频干扰(RF Jamming&#x…

统计学-R语言-1

文章目录 统计学介绍基本类型数据和变量数据抽样总结 统计学介绍 统计学(statistics)是“数据的科学” 1.是用以收集数据、分析数据和由数据得出结论的一组概念、原则和方法。 2.统计学进行推断的基础是数据(data)。数据不仅仅限于数字,也可能是图表、视频、音频或…

D42D43D44|买卖股票的最佳时机

121.买卖股票的最佳时机 初始思路&#xff1a; 暴力解法&#xff0c;两个for循环。 class Solution {public int maxProfit(int[] prices) {int res Integer.MIN_VALUE;for(int i 0;i<prices.length;i){for(int j i1;j<prices.length;j){res Math.max(res,prices[…

【ONE·MySQL || 常见的基本函数】

总言 主要内容&#xff1a;介绍了MySQL中常用的基本函数。一些聚合函数、时间日期函数、字符串函数、数字函数等。       文章目录 总言1、聚合函数1.1、汇总1.2、COUNT()函数1.2.1、基本说明1.2.2、使用演示 1.3、SUM( )函数1.3.1、基本说明1.3.2、使用演示 1.4、AVG( )函…

[C]jupyter中使用C

[C]jupyter中使用C 安装使用用处 安装 https://github.com/brendan-rius/jupyter-c-kernel 下拉找到3条命令&#xff0c;装就可以了 mac和linux可用 python3可用&#xff0c; 2不可以 第二条命令可以改为 : python3 install_c_kernel 小总结&#xff1a;如果有问题&#xff0…

Packet Tracer - Layer 2 Security

Packet Tracer - 第二层安全配置任务 目标 确保将中心交换机&#xff08;3560型号&#xff09;设置为根桥。保护生成树协议参数以防止对STP的操控攻击。启用端口安全功能以防止CAM表溢出攻击。 背景/场景 最近网络遭受了一系列攻击。因此&#xff0c;网络管理员已指派您负责…

JNPF低代码是什么,怎么样?

低代码开发平台已经是程序员日常标配效率工具了&#xff0c;曾经我们拿到开发需求后&#xff0c;要先配 Vue & React 等框架环境、再选需要引入的第三方组件库&#xff0c;最后穿针引线&#xff0c;调试搭建起需要的后台工具。这其中无数深坑等着我们去趟&#xff0c;直到低…

手把手教你制作一本旅游宣传册

​随着旅游业的蓬勃发展&#xff0c;越来越多的人选择在闲暇时间外出旅行。为了吸引更多的游客&#xff0c;制作一本精美的旅游宣传册至关重要。无论你是旅游爱好者还是旅游从业者&#xff0c;制作一本精美的旅游宣传册将有助于吸引更多的游客&#xff0c;提升你的业务。 一、确…