我试图在一个文件夹和所有子文件夹中循环查找特定文件类型的所有文件——例如,仅限.mp4.阿维.wmv.

以下是我现在拥有的,它循环遍历所有文件类型:

import os
rootdir = 'input'

for subdir, dirs, files in os.walk(rootdir):
     for file in files:
          print (os.path.join(subdir, file))

推荐答案

您可以使用os.path.splitext,它获取一个路径,并将文件扩展名从其末尾拆分:

import os
rootdir = 'input'
extensions = ('.mp4', '.avi', '.wmv')

for subdir, dirs, files in os.walk(rootdir):
    for file in files:
        ext = os.path.splitext(file)[-1].lower()
        if ext in extensions:
            print (os.path.join(subdir, file))

Python-3.x相关问答推荐

根据收件箱内部的值以行降序的特定顺序重新排序列

谁能解释一下这个带邮编的多功能环路?

命名空间前缀无效

GEKKO 在没有不等式的模型中抛出不等式定义错误

删除给定数组中所有元素为True的所有子数组

将元组列表转换为以整个元组为键的字典列表

XPATH:使用 .find_elements_by_xpath 为未知数量的 xpath 输入值

请求:RecursionError:超出最大递归深度

python 3.7 websockets的1006连接异常关闭错误

错误:预期语句,发现 py:Dedent

Pytorch 的随机 Select ?

将字符串表示与使用整数值的枚举相关联?

如何配置 Atom 以运行 Python3 脚本?

所有 Python dunder 方法的列表 - 您需要实现哪些方法才能正确代理对象?

为什么 2to3 将 mydict.keys() 更改为 list(mydict.keys())?

AttributeError:系列对象没有属性iterrows

Pruning in Keras

如何使用请求发送带有标头的 PATCH 请求

如何删除目录? os.removedirs 和 os.rmdir 是否只用于删除空目录?

Python:如何在 Windows 资源管理器中打开文件夹(Python 3.6.2、Windows 10)