一个基于 PyQt5 的小工具,用于快速查看指定文件夹的目录结构,并可选择性地提取文本文件内容进行查看和保存。
- 目录结构可视化:将目标目录以树状结构展示,并在主窗口中显示详细的文件结构。
- 文件内容提取(可选):
- 默认情况下会提取文本文件的内容(支持 UTF-8、GBK、Latin1 编码自动尝试),并在主窗口中展示。
- 可通过取消勾选「提取文件内容」选项,仅展示结构与文件名,而不读取文件内容。
- 文件大小和类型过滤:
- 跳过常见的二进制文件类型(如图片、视频、音频、PDF、Office 文档等),仅处理文本类型文件。
- 跳过大于 10MB 的文件,以防止卡顿或内存占用过高。
- 可视化操作:
- 支持从主窗口直接导出文本信息到剪贴板或保存为文本文件。
- 提供文件列表区(TreeView),点击特定文件名可快速跳转到对应的内容位置。
- 可删除结果中的特定文件条目。
- 主题切换:内置深色/浅色主题可自由切换。
- 取消与重置:在处理过程中可随时取消操作,并可在完成后重置结果。
- Python 3.x
- PyQt5(建议版本 5.15 及以上)
- 已安装 mimetypes、logging 等标准库
- 建议在 Windows 环境下运行(Linux/Mac 环境下也可尝试)
-
克隆本项目(或将源码下载到本地):
git clone https://github.com/yourusername/structure_insight.git
-
安装依赖:
pip install pyqt5
如需其它依赖,请根据需要安装。
-
运行:
python main.py
若
main.py
不是文件名,请将上面的命令替换为您的入口文件名。
- 启动程序后,界面左上方有一个文件夹图标按钮,点击可选择需分析的目录。
- 勾选「提取文件内容」可在分析完成后,于主窗口中查看文本文件的内容。取消该选项则只展示文件名与结构。
- 当处理开始后,状态栏会显示「处理中...」,进度条展示已处理文件数。可随时点击取消按钮中断操作。
- 处理完成后,可使用复制按钮将所有文本直接复制到剪贴板,或使用保存按钮将内容导出为文本文件。
- 若需修改显示主题,可点击主题切换按钮(桌面图标样式的按钮)进行深/浅色主题切换。
- 在右侧的文件列表树中点击文件条目,可在左侧文本框中快速定位到对应文件内容的位置。
- 若遇到「无法读取」或「权限错误」的情况,程序会在日志文件
file_reader.log
中进行记录,方便后续排查。 - 非文本文件、超过 10MB 的文件或被指定为跳过的文件类型将不会被提取内容,这些文件会在结果中标记为「跳过」。
- 若文件过多,处理过程可能需要一定时间。您可使用「取消」按钮中断。
- 程序在同目录下生成
file_reader.log
日志文件,以记录异常和错误信息,方便后续分析。
本项目采用 MIT 开源许可证。详情请参阅 LICENSE 文件。