首页 > 解决方案 > 比较 2 个目录及其子目录中的文件数量

问题描述

我有 2 个目录:IMAGES_PATH 和 JSON_PATH。IMAGES_PATH 包含图像。JSON_PATH 包含 json 文件。我知道图像的数量必须等于 json 文件的数量。每个目录包含相同的子目录。我的意思是文件夹的名称是相同的。我知道如何计算给定目录中的所有文件:

    import os, os.path
    total = 0
    #IMAGES_PATH, JSON_PATH are given
    for root, dirs, files in os.walk(IMAGES_PATH):
        total += len(files)

有没有办法将 IMAGES_PATH\all 子目录中的文件数量与 JSON_PATH\all 子目录中的文件数量进行比较,并返回包含不同文件数量的目录\子目录列表?

标签: python-3.xoperating-systemcomparecomparisonos.walk

解决方案


IMAGES_PATH如果和的目录结构JSON_PATH真的相同,我喜欢用zip它来同步搜索:

for a,b in zip(os.walk(IMAGES_PATH), os.walk(JSON_PATH)):
  current_image_dir, _, image_files = a
  current_json_dir, _, json_files = b
  if len(image_files) != len(json_files):
    # Do whatever you want

推荐阅读