You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python视频帧重排需求:按指定顺序整理目录中的帧文件

解决视频帧文件排序问题

要实现你需要的排序顺序,可以通过自定义排序规则完成。核心思路是让带_scrambled后缀的文件优先排列,再按文件名中的数字序号升序排序。

实现步骤

  • 遍历目标目录,筛选出所有.jpg格式的帧文件
  • 为每个文件生成排序键:
    • 标记是否为scrambled文件(优先级:scrambled文件 > 原始文件)
    • 提取文件名中的数字编号(如从frame0_scrambled.jpg中提取0)
  • 基于自定义键对文件列表排序

代码示例

import os

# 替换为你的帧文件目录路径
frame_dir = "./your_frame_directory"

# 获取目录下所有jpg文件
frame_files = [f for f in os.listdir(frame_dir) if f.endswith(".jpg")]

def frame_sort_key(filename):
    # 判断是否是处理后的scrambled文件
    is_scrambled = "_scrambled" in filename
    # 提取文件名中的数字部分
    frame_num = int(filename.split("frame")[-1].replace("_scrambled.jpg", "").replace(".jpg", ""))
    # 先按是否scrambled排序,再按数字序号排序
    return (0 if is_scrambled else 1, frame_num)

# 执行排序
sorted_frames = sorted(frame_files, key=frame_sort_key)

# 验证排序结果
for file in sorted_frames:
    print(file)

排序结果说明

运行上述代码后,文件会按照你需要的顺序输出:

frame0_scrambled.jpg
frame1_scrambled.jpg
frame2_scrambled.jpg
frame3_scrambled.jpg
frame4_scrambled.jpg
frame0.jpg
frame1.jpg
frame2.jpg
frame3.jpg
frame4.jpg

内容的提问来源于stack exchange,提问作者JebJames

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 18:55:39