繁体   English   中英

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

[英]Listing a single file in multiple directories with python

我发现了很多方法可以列出多个目录中的每个文件,例如:

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

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

尝试以下代码:

import os

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

UPDATE

要排除初始目录:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM