当前位置: 首页 > news >正文

做日本民宿的网站/站长之家域名信息查询

做日本民宿的网站,站长之家域名信息查询,php备份网站,wordpress qq登陆评论看视频的时候有的视频文件名贼长。想要翻看,在文件夹里根本显示不出来,缩短又会丢失一些信息,所以我写了一份Python代码,直接获取视频的名字,时长,帧率,还有分辨率写到excel里。 实际效果如下图…

看视频的时候有的视频文件名贼长。想要翻看,在文件夹里根本显示不出来,缩短又会丢失一些信息,所以我写了一份Python代码,直接获取视频的名字,时长,帧率,还有分辨率写到excel里。

实际效果如下图。

image-20240709212219287

可以看到需要的大致信息都被提取出来了

接下来直接上代码

import os
import xlsxwriter as xw
import cv2# 从文件中获取视频名称列表和视频网址列表
def getUrlName(filename):_urlList = []  # 视频网址列表_fileList = []  # 视频名称列表# 读取文件内容,并分离视频名称和网址with open(filename, 'r', encoding='utf-8') as f:data = f.readlines()for i in range(len(data)):if i % 2 == 0:  # 偶数行为视频名称_fileList.append(data[i].strip('\n'))else:  # 奇数行为视频网址_urlList.append(data[i].strip('\n'))return _urlList, _fileList# 获取单个视频文件的时长
def getFileDuration(filename):file_time = 0  # 初始化视频时长cap = cv2.VideoCapture(filename)  # 打开视频文件if cap.isOpened():  # 如果视频成功打开rate = cap.get(cv2.CAP_PROP_FPS)  # 获取视频帧率# 视频的宽高(分辨率)video_width = cap.get(cv2.CAP_PROP_FRAME_WIDTH)video_height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)frame_num = cap.get(cv2.CAP_PROP_FRAME_COUNT)  # 获取视频总帧数duration = int(frame_num / rate)  # 计算视频时长(秒)minutes = duration // 60  # 计算分钟数sec = duration % 60  # 计算剩余秒数res = "{:02d}:{:02d}".format(minutes, sec)  # 格式化时长为分钟:秒cap.release()  # 释放视频文件return res, rate,video_width,video_height  # 返回视频时长else:return file_time, file_time,file_time,file_time  # 如果视频打开失败,返回0# 获取指定文件夹内的所有文件名
def getAllFiles(_dirName):# print(os.listdir(_dirName))return os.listdir(_dirName)  # 返回文件夹内的文件列表# 使用xlsxwriter库将视频名称和时长列表写入Excel文件
def xw_toExcel(_fileList, _durationList,rates,w,h, fileName):workbook = xw.Workbook(fileName)  # 创建一个新的Excel工作簿worksheet1 = workbook.add_worksheet("sheet1")  # 在工作簿中添加一个名为"sheet1"的工作表worksheet1.activate()  # 激活工作表,准备写入数据title = ['序号', '视频名', '视频时长', '帧率',"分辨率"]  # 定义表头标题worksheet1.write_row('A1', title)  # 从A1单元格开始写入表头标题i = 2  # 设置数据写入的起始行号为2(即Excel中的第三行)for j in range(len(_fileList)):insertData = [j + 1, _fileList[j], _durationList[j],rates[j],"{}x{}".format(w[j],h[j])]  # 准备要写入的数据:序号、视频名、视频时长row = 'A' + str(i)  # 构建写入数据的行地址,例如'A2'、'A3'等worksheet1.write_row(row, insertData)  # 将数据写入到指定行i += 1  # 行号递增,准备写入下一行数据workbook.close()  # 完成数据写入后关闭工作簿# 程序的主函数
def main(SPWZ, folder_name):fileName = getAllFiles(SPWZ)  # 获取指定文件夹内的所有文件名print(fileName)duration = []  # 初始化视频时长列表rates = []  # 初始化帧率w = []h = []for item in fileName:  # 遍历每个文件a, b,c,d = getFileDuration(SPWZ + "/" + item)  # 获取每个视频文件的时长duration.append(a)  # 将时长添加到时长列表中rates.append(b)  # 将帧率添加到时长列表中w.append(c)h.append(d)# 将视频名称和时长写入Excel文件xw_toExcel(fileName, duration, rates, w,h,folder_name + '.xlsx')  # 调用xw_toExcel函数,写入数据到'test.xlsx'文件中if __name__ == '__main__':SPWZ = input("请输入要加载的视频位置:")SPWZ = SPWZ.replace('\\', '/')print(SPWZ)folder_name = os.path.basename(SPWZ)main(SPWZ, folder_name)

介绍一下这套代码的使用流程

image-20240709212322255

运行之后它会提示要加载的视频位置在哪里,输入之后回车生成的Excel文件会以那个文件夹命名

注意这需要open CV库的支持,要学会如何安装Python的库。
解决不了的加

在这里插入图片描述

相关文章:

opencv读取视频文件夹内视频的名字_时长_帧率_分辨率写入excel-cnblog

看视频的时候有的视频文件名贼长。想要翻看,在文件夹里根本显示不出来,缩短又会丢失一些信息,所以我写了一份Python代码,直接获取视频的名字,时长,帧率,还有分辨率写到excel里。 实际效果如下图…...

js对象的方法速览---数组的静态方法,实例方法和属性合集,各包含一个示例

tip: 本文仅作为查找和基本使用的展示,需要深入了解这些方法的使用请参考:Object - JavaScript | MDN (mozilla.org) 可以通过目录快速锁定需要查找的方法和查看它的使用 目录 tip: 新建一个对象 实例属性 实例方法 hasOwn…...

Redis基础教程(十四):Redis连接

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…...

GraphRAG——一个基于图的检索增强生成的开源项目【送源码】

GraphRAG 最近几天,微软团队开源了GraphRAG,这是一种基于图(Graph)的检索增强生成方法。 先说说RAG吧,检索增强生成,相当于是从一个给定好的知识库中进行检索,接入LLM模型,让模型生…...

什么是 VueQuill(前端的富文本编辑器)?

什么是 VueQuill? 1. 简介 VueQuill 是 Vue.js 的一个富文本编辑器插件,它基于 Quill 编辑器构建,提供了简洁且功能强大的富文本编辑功能。Quill 是一个现代化的富文本编辑器,提供丰富的文本编辑能力,支持多种格式和…...

从海上长城到数字防线:视频技术在海域边防现代化中的创新应用

随着全球化和科技发展的加速,海域安全问题日益凸显其重要性。海域边防作为国家安全的第一道防线,其监控和管理面临着诸多挑战。近年来,视频技术的快速发展为海域边防场景提供了新的解决方案,其高效、实时、远程的监控特点极大地提…...

《信息技术与信息化 》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问:《信息技术与信息化 》是不是核心期刊? 答:不是,是知网收录的第一批认定学术期刊。 问:《信息技术与信息化 》级别? 答:省级。主管单位:山东省科学技术协会 主办单…...

【最新版】手把手Claude 3.5 Sonnet 详细步骤注册方法!

目录 01 Claude 3.5 Sonnet 是什么 02 Claude 3.5 Sonnet 注册方法 Step1:注册 Wildcard Step2:注册Claude3.5 Step3:接收并输入验证 03 使用Claude 3.5 Sonnet 04 升级Claude 3 Opus 05 结语 01 Claude 3.5 Sonnet 是什么 蛰伏了三…...

代理模式和Java中的动态代理【开发实践】

文章目录 一、代理模式基础1.1 代理模式1.2 静态代理1.3 动态代理 二、静态代理的实现三、JDK动态代理3.1 JDK动态代理概述3.2 invoke方法介绍3.3 JDK动态代理的使用 四、CGLIB动态代理3.1 CGLIB动态代理概述3.2 CGLIB动态代理的使用 五、对比5.1 代理实现与使用对比5.2 使用条…...

【Linux】进程间通信——匿名管道

目录 为什么要进行进程间通信? 匿名管道的具体实现 pipe创建内存级文件形成管道 pipe的简单使用 匿名管道的四种情况和五种特性 四种情况 五种特性 PIPE_BUF 命令行管道 | 功能代码:创建进程池 为什么要进行进程间通信? 1.数据传输&…...

React Native与React Native Web:跨平台开发的新选择

React Native和React Native Web是两种基于React框架的跨平台开发技术,它们分别针对原生移动应用和Web应用的开发,但都提供了统一的开发体验和代码复用能力。 React Native 概述 React Native允许开发者使用React的组件化思想和JavaScript编写原生级别…...

【从零开始实现stm32无刷电机FOC】【理论】【3/6 位置、速度、电流控制】

目录 PID控制滤波单独位置控制单独速度控制单独电流控制位置-速度-电流串级控制 上一节,通过对SVPWM的推导,我们获得了控制电机转子任意受力的能力。本节,我们选用上节得到的转子dq轴解耦的SVPWM形式,对转子受力进行合理控制&…...

使用MySQLInstaller配置MySQL

操作步骤 1.配置High Availability 默认选项Standalone MySQL Server classic MySQL Replication 2.配置Type and Networking ◆端口默认启用TCP/P网络 ◆端口默认为3306 3.配置Account and Roles 设置root账户的密码、添加其他管理员 4.配置Windows Service ◆配置MySQL Serv…...

命令执行(RCE)面对各种过滤,骚姿势绕过总结

1、什么是RCE RCE又称远程代码执行漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。 2、RCE产生原因 服务器没有对执行命令的函数做严格的过滤,最终导致命令被执行。 3、命令执行函数 PHP代码执行函数…...

复杂的数仓项目,涵盖了从数据采集、处理、存储到可视化的整个流程

一个复杂的数仓项目,涵盖了从数据采集、处理、存储到可视化的整个流程。以下是对您提供信息的梳理和解释: 1. **项目架构**: - 包含实时流、离线流和配置流三条数据流。 - 数据源使用MySQL,开启binlog日志。 2. **数据采集…...

三相感应电机的建模仿真(3)基于ABC相坐标系Level2 S-Fun以及定子串不对称电抗起动过程仿真分析

1. 概述 2. 三相感应电动机状态方程式 3. 基于Level2 S-Function的仿真模型建立 4. 动态分析实例 5. 总结 6. 参考文献 1. 概述 三相感应电机自然坐标系下的数学模型是一组周期性变系数微分方程(其电感矩阵是转子位置角的函数,转子位置角随时间按正弦规律变化),将其用…...

了解Adam和RMSprop优化算法

优化算法是机器学习和深度学习模型训练中至关重要的部分。本文将详细介绍Adam(Adaptive Moment Estimation)和RMSprop(Root Mean Square Propagation)这两种常用的优化算法,包括它们的原理、公式和具体代码示例。 RMS…...

对于配置LLM,集显和独显的具体区别和影响

在配置大型语言模型(LLM)时,集成显卡(集显)和独立显卡(独显)之间的区别和影响主要体现在以下几个方面: 1. 性能差异 集成显卡(集显): 集显通常集…...

uniapp上架到appstore遇到的问题

1、appstore在美国审核,需要把服务器接口的国外访问权限放开 2、登陆部分 a、审核时只能有密码登陆,可以通过接口响应参数将其他登陆方式暂时隐藏,审核成功后放开即可 b、需要有账号注销功能 3、使用照相机和相册功能时需要写清楚描述文案...

每天10个vue面试题(一)

1. Vue的基本原理? 当一个Vue实例创建时,Vue会遍历data中的属性,用Object.defineProperty(vue3.0使用proxy )将它们转为 getter/setter,并且在内部追踪相关依赖,在属性被访问和修改时通知变化。…...

【博主推荐】HTML5好看的酷酷的个人简历、个人主页、个人网站源码

文章目录 1.设计来源1.1 主界面1.2 关于我界面1.3 我的项目界面1.4 我的经验界面1.5 我的技能界面1.6 我的文章界面1.7 联系我界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 作者:xcLeig…...

【深度学习】PyTorch深度学习笔记01-Overview

参考学习:B站视频【《PyTorch深度学习实践》完结合集】-刘二大人 ------------------------------------------------------------------------------------------------------- 1. 基于规则的深度学习 2. 经典的机器学习——手动提取一些简单的特征 3. 表示学习…...

IDEA新建项目并撰写Java代码的方法

本文介绍在IntelliJ IDEA软件中,新建项目或打开已有项目,并撰写Java代码的具体方法;Groovy等语言的代码也可以基于这种方法来撰写。 在之前的文章IntelliJ IDEA社区版在Windows电脑中的下载、安装方法(https://blog.csdn.net/zheb…...

24-7-9-读书笔记(九)-《爱与生的苦恼》[德]叔本华 [译]金玲

文章目录 《爱与生的苦恼》阅读笔记记录总结 《爱与生的苦恼》 《爱与生的苦恼》叔本华大佬的名书,里面有其“臭名昭著”的《论女人》,抛开这篇其他的还是挺不错的,哲学我也是一知半解,这里看得也凭喜好,这里记录一些自…...

uniapp本地打包到Android Studio生成APK文件

(1)安装 Android Studio 软件; 下载地址:官方下载地址,英文环境 安装:如下之外,其他一键 next (2)配置java环境; 下载:j…...

如何设计一个高可扩展的分布式架构?

如何设计一个高可扩展的分布式架构? 大家好,我是微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 1. 引言:分布式架构的重要性 随着互联网应用的发展,单一服务器往往难以满足…...

大话C语言:第28篇 内存分配与释放

1 malloc函数 函数说明&#xff1a; #include <stdlib.h>void *malloc(size_t size); 功能&#xff1a;在内存的动态存储区(堆区)中分配一块长度为size字节的连续区域&#xff0c;用来存放类型说明符指定的类型。分配的内存空间内容不确定。 参数&#xff1a;size&…...

第一个基于FISCOBCOS的前后端项目(发行转账)

本文旨在介绍一个简单的基于fiscobcos的前后端网站应用。Springbootjs前后端不分离。 所使用到的合约也是一个最基本的。首先您需要知道的是完整项目分为三部分&#xff0c;1是区块链平台webase搭建&#xff08;此项目使用节点前置webase-front即可&#xff09;&#xff0c;2是…...

python采集阿里巴巴历年员工人数统计报告

数据为2012到2022财年阿里巴巴每年的全职员工数量。截止2022年3月31日&#xff0c;阿里巴巴共有全职员工254941人&#xff0c;比上年增长3479人。 数据来源于阿里巴巴20-F和F-1文件 按阿里巴巴财政年度进行统计&#xff0c;阿里巴巴财年结束日期为每年3月31日 为全职员工人数 阿…...

git 基础场景操作

git基于当前分支创建分支&#xff0c;合并分支 git checkout -b new-batch git push origin new-batch git branch --set-upstream-toorigin/new-batch git pull git checkout master git merge origin new-batch git 开发分支合并 描述&#xff1a; git 我有 develop …...