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

如何在Python的os.walk()中过滤MP4文件?

如何筛选os.walk遍历中的MP4文件?

你之前在路径末尾加*.mp4没用,是因为os.walk()的第一个参数只能是目录路径,不支持通配符匹配。要筛选MP4文件,得在遍历文件名的时候做过滤,下面给你两种简单的实现方式:

方法1:用字符串后缀匹配

直接判断文件名是否以.mp4结尾,代码修改如下:

import os

path = "/path/to/directory/"
for dirpath, dirnames, filenames in os.walk(path):
    for filename in filenames:
        # 精准匹配小写.mp4,如需忽略大小写可改成filename.lower().endswith(".mp4")
        if filename.endswith(".mp4"):
            file = os.path.join(dirpath, filename)
            folder = os.path.basename(dirpath)
            filesize = os.path.getsize(file)
            # 这里可以添加你的业务逻辑,比如打印或存储文件信息
            print(f"文件夹: {folder}, 文件: {filename}, 大小: {filesize} bytes")

方法2:用os.path.splitext获取扩展名

这种方式更灵活,适合需要处理多种扩展名的场景:

import os

path = "/path/to/directory/"
for dirpath, dirnames, filenames in os.walk(path):
    for filename in filenames:
        # 分离文件名和扩展名,转小写后判断
        _, ext = os.path.splitext(filename)
        if ext.lower() == ".mp4":
            file = os.path.join(dirpath, filename)
            folder = os.path.basename(dirpath)
            filesize = os.path.getsize(file)
            # 业务逻辑处理
            print(f"文件夹: {folder}, 文件: {filename}, 大小: {filesize} bytes")

简单总结:os.walk()负责遍历目录结构,过滤文件的逻辑要放在遍历filenames的循环里,通过判断文件名后缀来筛选目标文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 15:36:33