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)。此方法会调用默认播放器选播视频。视频文件的扩展名,这里只列出了常见的几种格式。

相关推荐
万少1 小时前
HarmonyOS 开发必会 5 种 Builder 详解
前端·harmonyos
橙序员小站3 小时前
Agent Skill 是什么?一文讲透 Agent Skill 的设计与实现
前端·后端
炫饭第一名6 小时前
速通Canvas指北🦮——基础入门篇
前端·javascript·程序员
王晓枫6 小时前
flutter接入三方库运行报错:Error running pod install
前端·flutter
符方昊6 小时前
React 19 对比 React 16 新特性解析
前端·react.js
ssshooter6 小时前
又被 Safari 差异坑了:textContent 拿到的值居然没换行?
前端
曲折6 小时前
Cesium-气象要素PNG色斑图叠加
前端·cesium
Forever7_6 小时前
Electron 淘汰!新的桌面端框架 更强大、更轻量化
前端·vue.js
Angelial7 小时前
Vue3 嵌套路由 KeepAlive:动态缓存与反向配置方案
前端·vue.js
jiayu7 小时前
Angular学习笔记24:Angular 响应式表单 FormArray 与 FormGroup 相互嵌套
前端