问题描述
我想学习如何在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"))