可以使用os.walk()函数来遍历文件夹及其子文件夹中的文件,然后使用os.path.getmtime()函数获取文件的最后修改时间,通过比较最后修改时间的方式判断文件是否发生了变化。

下面是一个示例代码,可以判断一个文件夹中的文件(包括子文件夹)是否发生了变化:

import os

def check_folder_changes(folder_path):
    file_list = []
    for root, dirs, files in os.walk(folder_path):
        for file in files:
            file_path = os.path.join(root, file)
            file_list.append((file_path, os.path.getmtime(file_path)))
    
    # 比较文件列表中的每个文件的最后修改时间
    for file_path, last_modified in file_list:
        if os.path.getmtime(file_path) != last_modified:
            print(f"File {file_path} has changed.")

# 示例用法
folder_path = "path/to/folder"
check_folder_changes(folder_path)

在上面的示例中,check_folder_changes()函数接受一个文件夹路径作为参数,然后使用os.walk()遍历文件夹中的所有文件,将文件路径和最后修改时间存储在一个列表中。然后再次遍历文件列表,比较每个文件的最后修改时间是否发生变化,如果发生变化,则输出文件路径。

注意:上述代码只能检测文件的最后修改时间是否发生变化,如果文件内容发生了变化但最后修改时间未更新,则无法检测到变化。如果需要检测文件内容的变化,可以使用文件的哈希值进行比较。

用python中 直接判断一个文件夹里面的文件 包括子文件夹是否出现变化

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

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