如何列出当前目录及其子目录中特定扩展名的文件?

10 投票
2 回答
29341 浏览
提问于 2025-04-15 13:35

我想生成一个文本文件,这个文件里列出当前文件夹及其所有子文件夹中所有扩展名为 ".asp" 的文件。请问有什么好的方法可以做到这一点?

2 个回答

4

使用 os.walk 来遍历文件夹里的内容,然后用 glob 来过滤你想要的文件:

import os
import glob

asps = []
for root, dirs, files in os.walk('/path/to/dir'):
    asps += glob.glob(os.path.join(root, '*.asp'))

或者你也可以用 fnmatch.filter 来过滤:

import fnmatch
for root, dirs, files in os.walk('/path/to/dir'):
    asps += fnmatch.filter(files, '*.asp')
20

你可以使用 os.walk,这样就简单多了。

import os

asps = []
for root, dirs, files in os.walk(r'C:\web'):
    for file in files:
        if file.endswith('.asp'):
            asps.append(file)

撰写回答