Skip to content

Commit fe8ef10

Browse files
committed
2 parents 24aafb4 + c7ac75e commit fe8ef10

1 file changed

Lines changed: 71 additions & 1 deletion

File tree

README.md

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

0 commit comments

Comments
 (0)