【发布时间】:2021-06-16 04:15:58
【问题描述】:
我的文件结构如下:
- 外文件夹
- 内文件夹 1
- 文件...
- 内文件夹 2
- 文件...
- …
- 内文件夹 1
我正在尝试计算整个外部文件夹中的文件总数。当我将 os.walk 传递给 Outer 文件夹时,它不会返回任何文件,因为我只有两层,所以我手动编写了它:
total = 0
folders = ([name for name in os.listdir(Outer_folder)
if os.path.isdir(os.path.join(Outer_folder, name))])
for folder in folders:
contents = os.listdir(os.path.join(Outer_folder, folder))
total += len(contents)
print(total)
有更好的方法吗?我可以在任意嵌套的一组文件夹中找到文件的数量吗?我在 stackoverflow 上看不到任何深度嵌套文件夹的示例。
(我所说的“更好”是指某种内置函数,而不是手动编写一些东西来迭代 - 例如遍历整个树的 os.walk)
【问题讨论】:
-
更好,在什么意义上?更快,更少的内存?一个“更好”的方法可能是使用这样的东西:pymotw.com/2/glob
-
如果最好意味着最短:stackoverflow.com/a/16910957/11982387(可能重复)