用python中 直接判断一个文件夹里面的文件 包括子文件夹是否出现变化
可以使用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()遍历文件夹中的所有文件,将文件路径和最后修改时间存储在一个列表中。然后再次遍历文件列表,比较每个文件的最后修改时间是否发生变化,如果发生变化,则输出文件路径。
注意:上述代码只能检测文件的最后修改时间是否发生变化,如果文件内容发生了变化但最后修改时间未更新,则无法检测到变化。如果需要检测文件内容的变化,可以使用文件的哈希值进行比较。
原文地址: https://www.cveoy.top/t/topic/i9aC 著作权归作者所有。请勿转载和采集!