使用python在多个目录中列出单个文件

时间:2013-09-24 16:34:04

标签: python path directory

我找到了很多方法来列出多个目录中的每个文件,如下所示:

root = "C:\\test\\"
for path, subdirs, files in os.walk(root):
    for name in files:
        print(os.path.join(path, name))

但是,我需要在每个目录中只列出一个文件。我不是在寻找任何特定的订单,但我也不需要随机性。有没有办法在每个目录中获取单个文件(最好是“第一个”)以节省列出每个文件所需的资源? (这是一个Windows文件系统,如果相关的话。)

1 个答案:

答案 0 :(得分:1)

请尝试以下代码:

import os

root = "C:\\test\\"
for path, subdirs, files in os.walk(root):
    if files:
        print(os.path.join(path, min(files)))

<强>更新

排除初始目录:

import os
import itertools

root = "C:\\test\\"
for path, subdirs, files in itertools.islice(os.walk(root), 1, None):
    if files:
        print(os.path.join(path, min(files)))

使用min获取第一个(按字母顺序排列)文件名。