fix: 修复输出路径问题 — 路径解析改为基于应用目录而非CWD
当从外部目录(如D:\ccc)拖入文件时,输出文件会错误地写入源目录。 根因是所有路径使用相对路径 + os.getcwd() 解析,CWD不同则路径错误。 修复方案: - ConfigManager.get_path() 改为使用 app_root (exe所在目录/脚本所在目录) - 将 22 处裸硬编码 "data/result"/"data/output" 替换为 config.get_path() - 添加 result_folder 到默认配置和 config.ini - 修复 error_utils.py 中的路径匹配字符串 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -63,9 +63,11 @@ def run_command_with_logging(command, log_widget, status_bar=None, on_complete=N
|
||||
env["OCR_INPUT_DIR"] = cfg.get_path('Paths', 'input_folder', fallback='data/input', create=True)
|
||||
env["OCR_TEMP_DIR"] = cfg.get_path('Paths', 'temp_folder', fallback='data/temp', create=True)
|
||||
except Exception:
|
||||
env["OCR_OUTPUT_DIR"] = os.path.abspath("data/output")
|
||||
env["OCR_INPUT_DIR"] = os.path.abspath("data/input")
|
||||
env["OCR_TEMP_DIR"] = os.path.abspath("data/temp")
|
||||
# 回退:使用 exe/脚本所在目录
|
||||
app_root = os.path.dirname(sys.executable) if getattr(sys, 'frozen', False) else os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
env["OCR_OUTPUT_DIR"] = os.path.join(app_root, "data", "output")
|
||||
env["OCR_INPUT_DIR"] = os.path.join(app_root, "data", "input")
|
||||
env["OCR_TEMP_DIR"] = os.path.join(app_root, "data", "temp")
|
||||
env["OCR_LOG_LEVEL"] = "DEBUG"
|
||||
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user