如何从给定路径的每个子目录中提取第一个文件并将其存储在列表中?

时间:2019-05-16 09:00:34

标签: python

给出了一个路径,该路径包含子目录,例如

---- Folder1
---- Folder2 
---- Folder3
etc.

我想从每个文件夹中提取第一个文件并将其存储在列表中,如果可能的话,还要从该文件夹中删除该文件。 我知道如何通过使用os.listdir方法遍历文件夹和各个文件来执行此操作,但是此过程会将所有文件加载到内存中。

考虑到每个文件夹中都有大量文件,是否有人知道一种有效的方式或方法来循环浏览文件夹并将每个子文件夹的第一个文件提取到列表中??

1 个答案:

答案 0 :(得分:0)

您可以使用os.walk函数遍历给定文件夹的所有子文件夹。然后,您可以提取所需的每个第一个文件。这是第一个词典文件的示例:

import os

result_files = []
for root, dirs, files in os.walk(your_folder):
    if files:
        result_files.append(sorted(files)[0])

os.walk中的每个元组包含:

  • 当前文件夹名称
  • 当前文件夹中的所有文件夹
  • 当前文件夹中的所有文件