[英]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.