在 python 中使用 OS.Walk() 计算子文件夹

Counting subfolders using OS.Walk() in python

我想学习如何在 os.walk 进入另一个子文件夹时进行计数。现在我可以计算文件名中的文件数,但是当它从起始目录切换到另一个子文件夹目录时,我想将一个计数添加到子文件夹中。我不确定执行此操作的最佳方法。非常感谢任何帮助。

count = 0 
subfolder_count = 0 

for foldername, subfolders, filenames in os.walk('articles'):
    for file in filenames:
        if file.endswith('.pdf'):
            count += 1

你已经在迭代了,继续迭代吧!

count = 0
subfolder_count = 0

for root, dirs, files in os.walk('articles'):
    for dir_ in dirs:
        subfolder_count += 1
        for file_ in files:
            if file_.endswith('.pdf'):
                count += 1

在现代 Python (3.4+) 中你甚至不需要 os.walk,因为 pathlib 已经涵盖了两次遍历树的小开销..

import pathlib

path = pathlib.Path('articles')
subfolder_count = len(path.glob("**/"))
count = len(path.glob("**/*.pdf"))