在Python中,最快的方法构建某个扩展名的文件列表

10 投票
8 回答
14717 浏览
提问于 2025-04-17 08:57

在GNU/Linux系统上使用Python,最快的方法是什么来递归地扫描一个文件夹,找出所有的.MOV.AVI文件,并把它们存储在一个列表里呢?

8 个回答

4

这是一个列出当前目录下文件的例子。你可以根据需要,把它扩展到特定的路径。

import glob
movlist = glob.glob('*.mov')
7

你可以使用 os.walk() 来递归地遍历文件夹,使用 glob.glob() 或 fnmatch.filter() 来匹配文件。

可以查看这个 回答

7

我会用os.walk来扫描这个文件夹,然后用os.path.splitext来获取文件的后缀名,最后自己进行筛选。

suffixes = set(['.AVI', '.MOV'])
for dirpath, dirnames, filenames in os.walk('.'):
    for f in filenames:
        if os.path.splitext(f)[1] in suffixes:
            yield os.path.join(dirpath, f)

撰写回答