You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Python打包的exe报错时自动关闭终端无法查看错误的问题

解决方案

方案1:异常信息写入本地日志(推荐)

该方案完全不需要人工操作,即使终端自动关闭,也可以通过日志文件查看完整异常内容,完全满足你的限制要求。
修改后的代码示例:

import traceback
import time

try:
    # 此处替换为你的业务代码
    some code here
except Exception as e:
    print("error: ", e)
    # 追加写入异常日志到exe同级目录
    with open("error_log.txt", "a", encoding="utf-8") as log_file:
        log_file.write(f"===== 异常发生时间:{time.strftime('%Y-%m-%d %H:%M:%S')} =====\n")
        # 写入完整异常栈信息,比单纯的异常描述更便于定位问题
        log_file.write(traceback.format_exc())
        log_file.write("\n"*3)

每次触发异常后,直接打开exe同级目录下的error_log.txt即可查看所有历史异常记录

方案2:异常触发后终端自动停留固定时长

如果你需要直接在终端窗口查看报错,又不想使用按任意键退出的方案,可以设置异常后终端自动停留固定时长,时间结束后自动关闭:

import traceback
import time

try:
    # 此处替换为你的业务代码
    some code here
except Exception as e:
    print("error: ", e)
    print("===== 完整异常信息 =====")
    print(traceback.format_exc())
    # 终端停留30秒后自动退出,无需手动按键
    time.sleep(30)

注意事项

  • 使用PyInstaller等工具打包时,不要添加-w/--windowed参数,该参数会禁用控制台窗口,导致所有打印内容无法显示,需使用-c/--console参数保留控制台。
  • 如果你需要固定日志文件的存储位置,可以在open()方法中传入绝对路径,避免找不到日志文件。

内容的提问来源于stack exchange,提问作者Sarthak Nagoshe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 15:48:03