计算不同子目录中的文件数

时间:2017-12-21 22:20:39

标签: python count directory subdirectory os.walk

我正在尝试计算每个子目录中的图像总数 一个主目录和300个子目录的每个子目录都有1个图像,但是在代码下面显示的是每个目录中不同数量的图像,对于近20个子目录,它应该是1个图像。
输出:

图片:0目录:1
图像:3目录:2
图片:5目录:3
等等。但是下面的代码没有显示任何错误。

import os
path='C:/Python36/cclabel/n13/'
def count_em(path):
    x = 0
    for root, dirs, files in os.walk(path):
       files_count = (len(files))
       x = x + 1
       print("Images:",files_count,"Directory:",x)
    return files_count

2 个答案:

答案 0 :(得分:0)

正如Dan Farrell建议的那样,你需要调用函数count_em。单独编写函数不会这样做。你必须打电话给它。在文件末尾粘贴以下内容即可:

total = count_em(path)
print('Total images: ', total)

答案 1 :(得分:0)

您发布的代码并不能满足您的需求。但是,由于我对您的问题的理解,我编辑了它。希望这是你需要的。

import os    
path ="C:/Directory/"

def count_em(path):
    x = 0
    files_count = 0
    for root, dirs, files in os.walk(path):
       files_count += (len(files))
       x = x + 1

       print("Images:",files_count,"Directory:",x)
    return files_count



count_em(path)

修改

包含5个目录,子目录和文件的目录的输出:

Images: 0 Directory: 1
Images: 3 Directory: 2
Images: 3 Directory: 3
Images: 5 Directory: 4
Images: 9 Directory: 5
Images: 9 Directory: 6
.
.
.
.
.
Images: 84 Directory: 44
Images: 88 Directory: 45
Images: 90 Directory: 46
Images: 90 Directory: 47
Images: 90 Directory: 48
Images: 94 Directory: 49