我想构建一个程序,使用一些基本代码来读取文件夹并告诉我该文件夹中有多少文件。
目前我是这样做的:
import os
folders = ['Y:\\path1', 'Y:\\path2', 'Y:\\path3']
for stuff in folders:
for root, dirs, files in os.walk(stuff, topdown=True):
print("there are", len(files), "files in", root)
除非“主”文件夹中有多个文件夹,否则这种方法效果很好,因为由于文件夹/文件管理不善,它可能会返回一长串垃圾文件列表。所以我最多只想到第二层。例子:
Main Folder
---file_i_want
---file_i_want
---Sub_Folder
------file_i_want <--*
------file_i want <--*
------Sub_Folder_2
---------file_i_dont_want
---------file_i_dont_want
我知道如何只进入第一级break
与del dirs[:]
取自这个帖子 https://stackoverflow.com/questions/4117588/non-recursive-os-walk and 还有这个帖子 https://stackoverflow.com/questions/229186/os-walk-without-digging-into-directories-below.
import os
import pandas as pd
folders = ['Y:\\path1', 'Y:\\path2', 'Y:\\path3']
for stuff in folders:
for root, dirs, files in os.walk(stuff, topdown=True):
print("there are", len(files), "files in", root)
del dirs[:] # or a break here. does the same thing.
但无论我如何搜索,我都找不到如何深入两层的方法。我可能只是不理解其他帖子或其他什么?我在想类似的事情del dirs[:2]
但无济于事。有人可以指导我或向我解释如何实现这一目标吗?