Skip to main content
Glama
README.md5.46 kB
# File Operations 模块 提供完整的文件操作功能,包括基础文件操作、批量操作、内容处理、代码操作、项目分析、Git 集成等功能。 ## 功能特性 ### 基础文件操作 - 文件/目录复制、移动、删除 - 文件/目录创建(递归) - 文件重命名 - 文件存在性检查 - 文件权限设置(跨平台) ### 批量文件操作 - 批量复制/移动/删除(支持通配符) - 批量重命名(支持规则和模板) - 批量文件内容替换(支持正则) - 进度显示和中断处理 ### 文件查找和搜索 - 按名称/扩展名查找 - 按内容搜索(支持正则) - 按大小/修改时间筛选 - 递归目录搜索 ### 文件内容处理 - 安全读取/写入(支持编码) - 文件内容替换(单文件/批量) - 文件合并/分割 - 行级操作(追加、删除、插入) - 文件编码检测和转换 ### 代码块操作 - 在文件中插入代码块(指定位置:行号、标记、函数内) - 替换代码块(按行号范围或标记) - 删除代码块(按行号范围或标记) - 提取代码块到新文件 - 查找代码块(按函数名、类名、注释标记) ### 模板文件生成 - 从模板生成文件(支持变量替换) - 批量从模板生成多个文件 - 模板变量替换(支持字典、环境变量) ### 项目结构分析 - 生成项目文件树(文本、JSON、Markdown) - 过滤特定文件类型 - 排除目录(.git、node_modules 等) - 统计文件数量和大小 ### 依赖关系分析 - 解析导入语句(Python、Dart、Kotlin、Java 等) - 查找文件引用(哪些文件引用了某个文件) - 查找未使用的文件 - 构建依赖图 ### Git 集成 - 检查文件是否在 Git 中 - 获取文件 Git 状态(新增、修改、删除) - 检查文件是否被忽略(`.gitignore`) - 自动添加文件到 Git(根据规则) - 批量添加文件到 Git ### 文件格式处理 - JSON 读写(带格式化、错误处理) - YAML 读写 - XML 读写 - TOML 读写 - Markdown 处理(解析、提取、生成目录) ### 文件差异和比较 - 文件内容差异(行级、字符级) - 目录差异(新增、删除、修改的文件) - 文件哈希比较 - 生成差异报告 ### 文件内容分析 - 代码行数统计(总行数、空行、注释、代码行) - 文件大小分析 - 字符/单词统计 - 全文搜索(支持正则、多文件搜索) ### 临时文件管理 - 创建临时文件/目录(自动清理) - 带上下文的临时文件(命名规范) - 临时文件生命周期管理 ### 文件备份和恢复 - 自动备份(写入前备份) - 带时间戳的备份 - 备份管理(保留策略) - 从备份恢复 ### 文件验证和检查 - 文件编码检测和转换 - 文件格式验证 - 文件大小检查 - 文件权限检查 - 查找大文件、空文件、重复文件 ### 路径和引用处理 - 解析导入路径(相对路径转绝对路径) - 查找文件引用(更新导入路径) - 路径规范化 - 跨平台路径处理 - 批量更新导入路径 ## 使用方法 ### Python 代码调用 ```python from file_operations import ( copy_file, read_file_safe, write_file_safe, find_files, search_content, generate_from_template, ) # 基础文件操作 copy_file("source.txt", "dest.txt") # 读取文件 content = read_file_safe("file.txt") # 写入文件 write_file_safe("file.txt", "content") # 查找文件 files = find_files(".", pattern="*.py", recursive=True) # 搜索内容 results = search_content(".", "import os", pattern="*.py") # 从模板生成文件 generate_from_template("template.txt", "output.txt", variables={"name": "test"}) ``` ### MCP 工具使用 所有功能都已封装为 MCP 工具,可以在 Cursor 等 MCP 客户端中使用。 #### 基础文件操作 - `mcp_file_create`: 创建文件 - `mcp_file_read`: 读取文件 - `mcp_file_update`: 更新文件 - `mcp_file_delete`: 删除文件 - `mcp_file_copy`: 复制文件 - `mcp_file_move`: 移动文件 - `mcp_file_rename`: 重命名文件 - `mcp_file_get_info`: 获取文件信息 #### 批量操作 - `mcp_file_create_batch`: 批量创建文件 - `mcp_file_read_batch`: 批量读取文件 - `mcp_file_update_batch`: 批量更新文件 - `mcp_file_delete_batch`: 批量删除文件 #### 目录操作 - `mcp_file_list_directory`: 列出目录内容 - `mcp_file_create_directory`: 创建目录 - `mcp_file_search_files`: 搜索文件 #### 高级功能 - `mcp_file_search_content`: 搜索文件内容 - `mcp_file_replace_content`: 替换文件内容 - `mcp_file_compare`: 比较文件 - `mcp_file_analyze_project`: 分析项目结构 - `mcp_file_generate_from_template`: 从模板生成文件 - `mcp_file_git_status`: 获取 Git 状态 - `mcp_file_backup`: 备份文件 ## 依赖要求 - Python >= 3.9 - chardet >= 5.0.0(用于编码检测) 可选依赖: - PyYAML(用于 YAML 处理) - tomli / tomli-w(用于 TOML 处理) ## 注意事项 1. **跨平台兼容**: 使用 `pathlib.Path` 处理路径,支持 Windows、Linux、Mac 2. **编码处理**: 自动检测文件编码,支持多种编码格式 3. **错误处理**: 统一的异常处理和错误信息 4. **性能优化**: 大文件/大批量操作使用生成器,避免内存占用 5. **安全性**: 操作前检查权限,支持只读模式 ## 许可证 本项目为内部工具,仅供团队使用。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yfcyfc123234/showdoc_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server