下载了一些网课视频,想要得到每个视频的时长,记录到excel。
写个小脚本
系统导出器:从列表视图、树视图、组合框、Web 浏览器控件和文本框中获取数据。 (nirsoft.net)
这个软件
第一步,“查看”调成详细信息
第二步,用sysexp获取窗口信息
第三步,导出html视图查看,这时就能直接复制粘贴到excel了
5 个赞
from moviepy.editor import VideoFileClip
import os
import openpyxl
from tkinter import Tk
from tkinter import filedialog
# 隐藏Tkinter窗口
root = Tk()
root.withdraw()
# 选择文件夹路径
folder_path = filedialog.askdirectory()
# 创建Excel文件
wb = openpyxl.Workbook()
ws = wb.active
ws.append(["视频名称", "时长"])
# 遍历文件夹中的视频文件
for filename in os.listdir(folder_path):
if filename.endswith((".mp4", ".avi",".mkv",".flv")):
# 获取视频时长
video_path = os.path.join(folder_path, filename)
clip = VideoFileClip(video_path)
duration = clip.duration
clip.close()
# 将时长转换为mm:ss格式
duration_formatted = f"{int(duration // 60):02d}:{int(duration % 60):02d}"
# 将时长和文件名写入Excel文件
ws.append([filename, duration_formatted])
# 保存Excel文件
wb.save("视频时长.xlsx")
用这个python小脚本就行了
2 个赞
运行后会弹出文件夹选择框,选择后自动生成 ”视频时长.xlsx“
如果用的是 DirectoryOpus,只需要先勾选时长列:
再选择复制所有列:
如果需要经常使用的话,还可以用我的 GetColumnValue 命令来自定义按钮:
// 语法与重命名对话框中的“新名称”相同
GetColumnValue "* {duration}"
Clipboard SET {$glob:$result}
@set glob:$result
(DO 支持中文,我是因为个人习惯用的英文。)
1 个赞