一个用于对比两个文件夹中同名文件差异的Python GUI工具。
- 🔍 支持选择两个文件夹进行对比
- 📁 可指定文件后缀名,只对比特定类型的文件
- 🔤 自动检测文件编码(支持UTF-8、GB2312、GBK等)
- 📝 生成详细的差异报告(Markdown格式)
- 🖥️ 友好的图形界面
- ⚡ 多线程处理,界面不卡顿
pip install chardet注意:tkinter 通常随Python安装包自带,difflib 是Python标准库。
-
运行程序:
python main.py
-
在GUI界面中:
- 文件夹1:选择第一个要对比的文件夹
- 文件夹2:选择第二个要对比的文件夹
- 输出文件夹:选择差异报告的保存位置
- 文件后缀:输入要对比的文件类型(如
.txt、.py、.md等)
-
点击"开始对比"按钮
-
程序会:
- 扫描两个文件夹中指定后缀的所有文件
- 找出同名文件进行对比
- 为每个有差异的文件生成
文件名-diff.md报告 - 在日志区域显示处理进度
差异报告以Markdown格式保存,包含:
- 文件基本信息
- 对比时间
- 详细的差异内容(使用diff格式)
示例输出文件名:config-diff.md、script-diff.md
程序会自动检测文件编码,支持:
- UTF-8
- GB2312
- GBK
- GB18030
- 其他常见编码
如果自动检测失败,程序会尝试多种编码并在日志中记录使用的编码。
- 只对比同名文件(包括相对路径相同的文件)
- 如果文件内容完全相同,不会生成差异报告
- 输出文件夹会自动创建(如果不存在)
- 处理大量文件时请耐心等待
- 使用Python标准库
difflib进行文件对比 - 使用
chardet库进行编码检测 - 支持递归扫描子文件夹
- 多线程处理避免界面冻结