Recursively compare two directories to ensure they have the same files and subdirectories

后端 未结 11 1285
猫巷女王i
猫巷女王i 2020-12-23 20:49

From what I observe filecmp.dircmp is recursive, but inadequate for my needs, at least in py2. I want to compare two directories and all their contained files. Do

11条回答
  •  爱一瞬间的悲伤
    2020-12-23 21:46

    Here a simple solution with a recursive function :

    import filecmp
    
    def same_folders(dcmp):
        if dcmp.diff_files:
            return False
        for sub_dcmp in dcmp.subdirs.values():
            if not same_folders(sub_dcmp):
                return False
        return True
    
    same_folders(filecmp.dircmp('/tmp/archive1', '/tmp/archive2'))
    

提交回复
热议问题