可以使用Python中的os和filecmp模块。下面是一个示例代码:
import os
import filecmp
def compare_folders(dir1, dir2):
"""
比较两个文件夹及其子文件夹中的内容,返回差异的列表
"""
dcmp = filecmp.dircmp(dir1, dir2)
diffs = []
# 比较文件
for name in dcmp.diff_files:
diffs.append(os.path.join(dcmp.left, name))
# 递归比较子文件夹
for sub_dcmp in dcmp.subdirs.values():
sub_diffs = compare_folders(sub_dcmp.left, sub_dcmp.right)
diffs.extend(sub_diffs)
return diffs
使用示例:
diffs = compare_folders('/path/to/folder1', '/path/to/folder2')
if len(diffs) == 0:
print('文件夹内容相同')
else:
print('文件夹内容不同,差异列表为:')
for diff in diffs:
print(diff)
此代码会将文件夹1和文件夹2中所有子文件夹和文件进行比较,并返回差异列表。如果差异列表为空,则说明两个文件夹中的所有内容都相同;否则,差异列表中将列出所有不相同的文件及其路径。
下一篇:比较文件夹文件名与数组的元素。