在Python中,在具有特定扩展名的目录中构建文件列表的最快方法

ens*_*are 5 python linux filesystems optimization recursion

在GNU/Linux系统上的Python中,以递归方式扫描所有.MOV.AVI文件的目录并将它们存储在列表中的最快方法是什么?

Ale*_*man 7

您可以使用os.walk()进行recuresive walking,使用glob.glob()或fnmatch.filter()进行文件匹配:

检查这个答案


小智 6

我使用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)
Run Code Online (Sandbox Code Playgroud)


mil*_*cic 4

当前目录中的文件列表的示例。您可以将其扩展为特定路径。

import glob
movlist = glob.glob('*.mov')
Run Code Online (Sandbox Code Playgroud)