|
| 1 | + |
| 2 | +# Structure Insight |
| 3 | + |
| 4 | +一个基于 PyQt5 的小工具,用于快速查看指定文件夹的目录结构,并可选择性地提取文本文件内容进行查看和保存。 |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | +## 功能简介 |
| 12 | + |
| 13 | +- **目录结构可视化**:将目标目录以树状结构展示,并在主窗口中显示详细的文件结构。 |
| 14 | +- **文件内容提取**(可选): |
| 15 | + - 默认情况下会提取文本文件的内容(支持 UTF-8、GBK、Latin1 编码自动尝试),并在主窗口中展示。 |
| 16 | + - 可通过取消勾选「提取文件内容」选项,仅展示结构与文件名,而不读取文件内容。 |
| 17 | +- **文件大小和类型过滤**: |
| 18 | + - 跳过常见的二进制文件类型(如图片、视频、音频、PDF、Office 文档等),仅处理文本类型文件。 |
| 19 | + - 跳过大于 10MB 的文件,以防止卡顿或内存占用过高。 |
| 20 | +- **可视化操作**: |
| 21 | + - 支持从主窗口直接导出文本信息到剪贴板或保存为文本文件。 |
| 22 | + - 提供文件列表区(TreeView),点击特定文件名可快速跳转到对应的内容位置。 |
| 23 | + - 可删除结果中的特定文件条目。 |
| 24 | +- **主题切换**:内置深色/浅色主题可自由切换。 |
| 25 | +- **取消与重置**:在处理过程中可随时取消操作,并可在完成后重置结果。 |
| 26 | + |
| 27 | +## 运行环境 |
| 28 | + |
| 29 | +- Python 3.x |
| 30 | +- PyQt5(建议版本 5.15 及以上) |
| 31 | +- 已安装 mimetypes、logging 等标准库 |
| 32 | +- 建议在 Windows 环境下运行(Linux/Mac 环境下也可尝试) |
| 33 | + |
| 34 | +## 安装步骤 |
| 35 | + |
| 36 | +1. 克隆本项目(或将源码下载到本地): |
| 37 | + ```bash |
| 38 | + git clone https://github.com/yourusername/structure_insight.git |
| 39 | + ``` |
| 40 | + |
| 41 | +2. 安装依赖: |
| 42 | + ```bash |
| 43 | + pip install pyqt5 |
| 44 | + ``` |
| 45 | + |
| 46 | + 如需其它依赖,请根据需要安装。 |
| 47 | + |
| 48 | +3. 运行: |
| 49 | + ```bash |
| 50 | + python main.py |
| 51 | + ``` |
| 52 | + |
| 53 | + 若 `main.py` 不是文件名,请将上面的命令替换为您的入口文件名。 |
| 54 | + |
| 55 | +## 使用说明 |
| 56 | + |
| 57 | +1. 启动程序后,界面左上方有一个文件夹图标按钮,点击可选择需分析的目录。 |
| 58 | +2. 勾选「提取文件内容」可在分析完成后,于主窗口中查看文本文件的内容。取消该选项则只展示文件名与结构。 |
| 59 | +3. 当处理开始后,状态栏会显示「处理中...」,进度条展示已处理文件数。可随时点击取消按钮中断操作。 |
| 60 | +4. 处理完成后,可使用复制按钮将所有文本直接复制到剪贴板,或使用保存按钮将内容导出为文本文件。 |
| 61 | +5. 若需修改显示主题,可点击主题切换按钮(桌面图标样式的按钮)进行深/浅色主题切换。 |
| 62 | +6. 在右侧的文件列表树中点击文件条目,可在左侧文本框中快速定位到对应文件内容的位置。 |
| 63 | + |
| 64 | +## 常见问题 |
| 65 | + |
| 66 | +- 若遇到「无法读取」或「权限错误」的情况,程序会在日志文件 `file_reader.log` 中进行记录,方便后续排查。 |
| 67 | +- 非文本文件、超过 10MB 的文件或被指定为跳过的文件类型将不会被提取内容,这些文件会在结果中标记为「跳过」。 |
| 68 | +- 若文件过多,处理过程可能需要一定时间。您可使用「取消」按钮中断。 |
| 69 | + |
| 70 | +## 日志记录 |
| 71 | + |
| 72 | +- 程序在同目录下生成 `file_reader.log` 日志文件,以记录异常和错误信息,方便后续分析。 |
| 73 | + |
| 74 | +## License |
| 75 | + |
| 76 | +本项目采用 MIT 开源许可证。详情请参阅 [LICENSE](LICENSE) 文件。 |
0 commit comments