# file-integrity-validator **Repository Path**: icodewr/file-integrity-validator ## Basic Information - **Project Name**: file-integrity-validator - **Description**: 递归扫描指定目录,自动识别并校验 PPTX、PDF、MP4 文件的完整性。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-21 - **Last Updated**: 2026-07-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # File Integrity Validator [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) ![Python Version](https://img.shields.io/badge/Python-3.13+-blue) 递归扫描指定目录,自动识别并校验 **PPTX**、**PDF**、**MP4** 文件的完整性。 --- ## 快速开始 ### 环境要求 - Python ≥ 3.13 - [uv](https://docs.astral.sh/uv/) 包管理器 ### 安装 ```bash git clone git@github.com:ICodeWR/file-integrity-validator.git cd file-integrity-validator # 安装依赖(使用清华源,配置在 pyproject.toml 中) uv sync # (可选)安装开发依赖 uv sync --group dev ``` ### 运行 ```bash # 扫描当前目录 uv run integrity-check # 扫描指定目录 uv run integrity-check D:\项目文件 # 非递归模式 uv run integrity-check D:\项目文件 --no-recursive # 静默模式(仅输出汇总) uv run integrity-check D:\项目文件 --quiet ``` ### 输出示例 ``` [OK] [PPTX] 报告.pptx Valid (12 slides) [OK] [PDF ] 合同.pdf Valid (3 pages) [FAIL][MP4 ] 演示视频.mp4 CORRUPTED - not a MP4 file ============================================================ Summary Total files checked: 3 [OK] Valid: 2 [FAIL] Corrupted: 1 [SKIP] Skipped: 0 ``` > 有损坏文件时退出码为 **1**,全部正常退出码为 **0**。 --- ## 支持的文件类型 | 扩展名 | 格式 | 校验库 | 校验方法 | |--------|------|--------|---------| | `.pptx` / `.ppt` | PowerPoint | `python-pptx` | 打开并统计幻灯片数 | | `.pdf` | PDF | `pypdf` | 读取并统计页数 | | `.mp4` / `.m4v` / `.m4a` | MPEG-4 | `mutagen` | 解析容器结构及时长 | --- ## 打包 ### Python 包 ```bash uv build # 产物:dist/file_integrity_validator-1.0.0-py3-none-any.whl ``` ### 单文件可执行文件(脱离 Python 环境) ```bash uv run pyinstaller --onefile \ --name integrity-check \ --hidden-import pypdf \ --hidden-import pptx \ --hidden-import mutagen \ --hidden-import lxml \ src/file_integrity_validator/__main__.py # 产物:dist_exe/integrity-check.exe(23 MB,双击即用) ``` --- ## 项目结构 ``` file-integrity-validator/ ├── pyproject.toml # 项目配置(清华源、依赖、入口) ├── LICENSE # MIT 开源许可 ├── README.md # 本文件 ├── src/ │ └── file_integrity_validator/ │ ├── __init__.py │ ├── __main__.py # CLI 入口 │ └── checkers.py # 校验器核心 └── tests/ ├── conftest.py # 测试夹具 ├── test_checkers.py # 单元测试(15 个) └── test_cli.py # 集成+E2E 测试(21 个) ``` --- ## 许可 本项目采用 **MIT License** 开源。 版权所有 © 2026 **码上工坊**。详见 [LICENSE](LICENSE) 文件。 --- ## 关于我们 扫描下方二维码关注「码上工坊」微信公众号,获取更多 Python 工程实战内容: ![码上工坊](assets/msgf.jpg)