# 更新日志 ## v1.2 (2025-10-17) ### 新功能 #### 1. 汇率文件支持 - **功能**: 支持从 `exchange_rate.txt` 文件读取汇率 - **优先级**: 文件汇率 > 程序默认汇率 - **使用方法**: ```bash echo "7.25" > exchange_rate.txt python3 generate_accounting_entries.py ``` #### 2. 智能汇率验证 - **范围检查**: 汇率必须在 0.1 ~ 100 范围内 - **格式验证**: 自动检测非数字格式 - **错误处理**: 异常情况自动回退到默认汇率 (7.1072) #### 3. 详细日志输出 程序运行时会显示汇率来源: - 从文件读取: `从 exchange_rate.txt 读取汇率: 7.25` - 文件不存在: `汇率文件 exchange_rate.txt 不存在,使用默认汇率: 7.1072` - 格式错误: `汇率文件 exchange_rate.txt 中的值无法解析,使用默认汇率: 7.1072` - 值不合理: `汇率文件中的值 150.0 不合理,使用默认汇率: 7.1072` ### 代码修改 **文件**: `generate_accounting_entries.py` 1. **新增导入**: - `import os` - 用于文件检查 2. **新增函数**: - `load_exchange_rate()` (line 16-52) - 汇率加载和验证逻辑 3. **修改函数签名**: - `create_accounting_entries(data, exchange_rate)` - 添加汇率参数 4. **修改 main 函数**: - 调用 `load_exchange_rate()` 获取汇率 - 传递汇率参数到 `create_accounting_entries()` ### 文档更新 1. **User.md**: - 更新"汇率配置"章节,添加文件方法说明 - 更新 Q4 常见问题 - 更新文件说明表,添加 `exchange_rate.txt` - 添加 v1.2 更新记录 2. **CLAUDE.md**: - 更新"Exchange Rate"配置章节 - 添加详细的错误处理说明和示例 - 更新版本历史 ### 测试结果 ✅ 正常汇率文件 (7.25): 成功读取 ✅ 文件不存在: 使用默认汇率 ✅ 非数字格式 (abc): 使用默认汇率 ✅ 不合理值 (150): 使用默认汇率 ### 向后兼容性 - ✅ 完全向后兼容 - ✅ 不影响现有功能 - ✅ 无 `exchange_rate.txt` 文件时使用程序默认值 ### 文件清单 | 文件 | 状态 | 说明 | |------|------|------| | `generate_accounting_entries.py` | 已修改 | 添加汇率文件读取功能 | | `exchange_rate.txt` | 新增 | 汇率配置文件 (可选) | | `User.md` | 已更新 | 用户文档 | | `CLAUDE.md` | 已更新 | 开发文档 | | `CHANGELOG.md` | 新增 | 本文件 |