打开 VFP 文件
使用 VfpReader.open() 建立一个面向单个路径的读取对象。该调用会读取 Header、Footer 和 DIR0,验证目录 CRC、版本字段、保留字段以及每个目录项的偏移范围;不会扫描所有载荷。
from pathlib import Path
from vfp_reader import VfpError, VfpReader
source = Path("incoming/asset.vfp")
try:
reader = VfpReader.open(source)
except VfpError as exc:
print(f"容器无效:{exc}")
raise
打开成功只说明容器目录可读,不说明 PAL0、VOX0 的内容通过完整性校验。用于展示文件名和尺寸时可直接接 inspect();用于导入资产或导出格式时必须再执行 validate_source()。
路径不存在、无读取权限等文件系统问题在当前实现中会被包装成 VfpError("无法读取 VFP:...")。因此上传服务需要记录原始路径和错误文本,而不应该根据异常类推断所有 I/O 原因。