foldercompare.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:foldercompare 作者: rocheio 项目源码 文件源码
def _recursive_dircmp(folder1, folder2, prefix='.'):
    """Return a recursive dircmp comparison report as a dictionary."""

    comparison = filecmp.dircmp(folder1, folder2)

    data = {
        'left': [r'{}/{}'.format(prefix, i) for i in comparison.left_only],
        'right': [r'{}/{}'.format(prefix, i) for i in comparison.right_only],
        'both': [r'{}/{}'.format(prefix, i) for i in comparison.common_files],
    }

    for datalist in data.values():
        datalist.sort()

    if comparison.common_dirs:
        for folder in comparison.common_dirs:
            # Update prefix to include new sub_folder
            prefix += '/' + folder

            # Compare common folder and add results to the report
            sub_folder1 = os.path.join(folder1, folder)
            sub_folder2 = os.path.join(folder2, folder)
            sub_report = _recursive_dircmp(sub_folder1, sub_folder2, prefix)

            # Add results from sub_report to main report
            for key, value in sub_report.items():
                data[key] += value

    return data
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号