【问题标题】:Count number of files in end directories using Python使用 Python 计算最终目录中的文件数
【发布时间】:2019-01-16 10:18:00
【问题描述】:

我有一个树形结构存档的图像数据集,其中不同级别文件夹的名称是这些图像的标签,例如

/Label1
      /Label2
             /image1
             /image2
      /Label3
             /image3
/Label4
      /image4
      /image5

那么我如何计算每个结束文件夹中的图像数量。在上面的例子中,我想知道文件夹/Label1/Label2/Label1/Label3Label4中有多少张图片。

我检查了函数os.walk(),但似乎没有简单的方法来计算每个单独的结束文件夹中的文件数。

谁能帮帮我,提前谢谢你。

【问题讨论】:

    标签: python operating-system filesystems


    【解决方案1】:

    您可以使用os.walk()

    import os
    c=0
    print(os.getcwd())
    for root, directories, filenames in os.walk('C:/Windows'):
        for files in filenames:
            c=c+1
    print(c)
    

    输出:

    125765
    >>> 
    

    如果子目录中有多种文件格式,可以使用运算符并检查 jpeg、png,然后递增计数器。

    【讨论】:

      【解决方案2】:

      我查看了函数os.walk(),但似乎没有简单的方法来计算每个单独的最终文件夹中的文件数。

      当然有。只是len(files)

      我不是 100% 确定您所说的“结束目录”是什么意思,但如果您想跳过不是叶子的目录(即具有子目录的目录),这同样简单:if not dirs

      最后,我不知道您是否想打印出计数,将它们存储在以路径为键的字典中,将它们加起来,或者什么,但这些都非常简单,所以这里有一些代码三者皆为例子:

      total = 0
      counts = {}
      for root, dirs, files in os.walk(path):
          if not dirs:
              print(f'{root}: {len(files)}')
              counts[root] = len(files)
              total += len(files)
      

      【讨论】:

        猜你喜欢
        • 2018-03-25
        • 2011-02-07
        • 2010-11-10
        • 2010-10-15
        • 2021-03-05
        • 2021-08-01
        • 2016-02-19
        • 1970-01-01
        • 2011-10-15
        相关资源
        最近更新 更多