是的,Python 提供了一个标准库模块 filecmp,其中包含了一个函数 dircmp(),可以用来比较两个文件夹的内容,并判断它们之间的差异。

下面是一个示例代码,演示了如何使用 filecmp.dircmp() 函数判断一个文件夹中的文件是否发生了变化:

import filecmp

def is_folder_changed(folder_path):
    dcmp = filecmp.dircmp(folder_path, folder_path)  # 比较同一个文件夹
    if dcmp.diff_files or dcmp.left_only or dcmp.right_only:
        return True  # 文件夹中的文件发生了变化
    for sub_dcmp in dcmp.subdirs.values():
        if is_folder_changed(sub_dcmp.left) or is_folder_changed(sub_dcmp.right):
            return True  # 子文件夹中的文件发生了变化
    return False

folder_path = '/path/to/folder'  # 替换成实际的文件夹路径
if is_folder_changed(folder_path):
    print('文件夹中的文件发生了变化')
else:
    print('文件夹中的文件未发生变化')

在上述代码中,is_folder_changed() 函数接受一个文件夹路径作为参数,使用 filecmp.dircmp() 函数比较该文件夹和自身,判断文件夹中的文件是否发生了变化。如果文件夹中的文件列表、文件内容或子文件夹发生了变化,函数将返回 True,否则返回 False。

注意:filecmp.dircmp() 函数只会比较文件夹中的文件和子文件夹,不会比较文件夹本身的元数据(如修改时间、权限等)。如果需要比较文件夹的元数据是否发生变化,可以使用 os.stat() 函数获取文件夹的元数据,然后进行比较。

Python 判断文件夹内容变化:使用 filecmp 模块

原文地址: https://www.cveoy.top/t/topic/lpP3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录