如何使用Python脚本检测两个不同文件夹中的缺失文件并输出提示信息
Python脚本:找出动态文件夹中缺失的文件
实现思路
- 以**静态文件夹(Folder1)**的文件列表作为基准,因为它不会新增或删除文件
- 获取**动态文件夹(Folder3)**的当前文件列表
- 对比两个列表,筛选出基准列表存在但动态列表没有的文件,输出对应的缺失提示
完整代码
import os def find_missing_files(static_folder, dynamic_folder): # 获取静态文件夹下的所有文件名,转成集合方便快速对比 static_files = set(os.listdir(static_folder)) # 获取动态文件夹下的所有文件名 dynamic_files = set(os.listdir(dynamic_folder)) # 计算两个集合的差集:静态有但动态没有的文件 missing_files = static_files - dynamic_files # 循环输出缺失提示 for file in missing_files: print(f"{file} 缺失于{os.path.basename(dynamic_folder)}") if __name__ == "__main__": # 替换成你实际的文件夹路径(支持绝对路径/相对路径) STATIC_FOLDER = "./Folder1" # 静态文件夹路径 DYNAMIC_FOLDER = "./Folder3" # 动态文件夹路径 # 先检查文件夹是否存在,避免报错 if not os.path.isdir(STATIC_FOLDER): print(f"错误:静态文件夹 {STATIC_FOLDER} 不存在,请检查路径") elif not os.path.isdir(DYNAMIC_FOLDER): print(f"错误:动态文件夹 {DYNAMIC_FOLDER} 不存在,请检查路径") else: find_missing_files(STATIC_FOLDER, DYNAMIC_FOLDER)
使用说明
- 修改代码里的
STATIC_FOLDER和DYNAMIC_FOLDER为你实际的文件夹路径,比如Windows的C:/Users/xxx/Documents/Folder1,或者mac/Linux的/home/xxx/Folder1 - 运行脚本,就能自动输出所有缺失文件的提示信息
测试你的示例场景
如果Folder1包含File1.xlsx、File3.xlsx、File4.xlsx,Folder3只包含File1.xlsx、File3.xlsx,运行脚本后会输出:
File4.xlsx 缺失于Folder3
额外补充
如果需要对比包括子文件夹在内的所有文件,可以把获取文件列表的逻辑改成递归遍历(用os.walk),要是有这个需求我可以再调整代码~
内容的提问来源于stack exchange,提问作者Shaik Bakshu
相关产品推荐
相关产品推荐

