Python实现随机选播视频的示例代码

一、示例代码:

python 复制代码
import os
import random
import subprocess

video_type = ['avi', 'mp4', 'rm', 'rmvb', 'VOB']


def random_walk(root_dir):
    all_videos = []
    for root, dirs, files in os.walk(root_dir):
        for file in files:
            extract_str = file.split('.')[-1].lower()
            if extract_str in video_type:
                all_videos.append(os.path.join(root, file))

    return all_videos


if __name__ == '__main__':
    all_videos = random_walk('/home/lijiang/Videos')
    print(all_videos)

    for i in range(random.randint(1, 5)):
        video = random.choice(all_videos)

    print('打开播放视频:' + video)
    subprocess.call(['open', video])

二、运行结果:

三、源码说明:

1、若是Windows系统,将Linux下的subprocess.call()替换为os.startfile(video)。此方法会调用默认播放器选播视频。视频文件的扩展名,这里只列出了常见的几种格式。

相关推荐
Gigavision6 小时前
基于BUAA-MIHR数据集的噪声解耦对比学习算法
人工智能·python·深度学习·算法
IPdodo_6 小时前
跨境 API 调用不稳定怎么办:出口、超时重试与链路监控的实践
网络·python·网络协议
Madison-No76 小时前
搭建项目测试环境
linux·运维·服务器·python
+VX:Fegn08956 小时前
计算机毕业设计|基于springboot + vue蛋糕店管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·课程设计
计算机编程-吉哥7 小时前
YOLO26 vs YOLO11 vs YOLOv8:深度学习咖啡果实成熟度分割系统【计算机毕业设计选题推荐】
人工智能·python·深度学习·yolo·django·毕业设计
大衛說7 小时前
11 · 异常处理与日志
python
auto_go8 小时前
Python 实战指南(7)——账本动不动就崩?先把“魔法字符串”和“裸报错”干掉
python
Beyond_System|系统之外8 小时前
【学编程】Python基础编程题100道(21-60)
开发语言·python·算法
Nicander8 小时前
我给 Excalidraw 做了一个本地工作区:DrawSpace
前端·开源
根目录下的猫8 小时前
RK3588适配的轻量级AI模型推荐
人工智能·后端·python·目标检测