0

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

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

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

4

1 回答 1

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获取第一个(按字母顺序)文件名。

于 2013-09-24T16:38:00.460 回答