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

Python脚本转exe后控制台自动关闭,求技术解决方案

GPA计算程序EXE运行后自动关闭的问题

原Python代码

score = []
percent = []
add = []

print("Enter Grade") 

# 获取用户输入
def multi_input():
    try:
        while True:
            data=input()
            if not data: break
            yield data
    except KeyboardInterrupt:
        return

data = list(multi_input())

# 将数据筛选到percent和score列表
for i in range(3, len(data),4):
    data[i] = data[i].split('\t')
    try:
        percent.append(data[i][3])
        score.append(data[i][4])
    except IndexError:
        result = 0

# 移除未评分的项
percent = [value for value in percent if value != '']
score = [value for value in score if value != '']

# 处理百分比数据
for i in range(len(percent)):
    try:
        percent[i] = percent[i].replace('%', '')
        percent[i] = float(percent[i])
    except ZeroDivisionError:
        result = 0

# 处理分数数据
for i in range(len(score)):
    score[i] = score[i].split('/')
    for j in range(len(score[i])):
        score[i][j] = float(score[i][j])
    try:
        score[i] = score[i][0]/score[i][1]*100
    except ZeroDivisionError:
        result = 0

# 输出已评分作业数量
print()
print("graded assignments: ", len(score))

# 计算GPA
for i in range(len(score)):
    add.append(score[i]*percent[i]/100)

print(f"{sum(add)/sum(percent)*100:05.2f}")

问题描述

上述代码在PyCharm中可正常运行:输入指定数据并按两次回车后,能输出GPA结果。但使用PyInstaller或AutoPyToExe将其转换为exe文件后,控制台执行完毕会直接关闭,无法查看计算结果。

原因分析

这是控制台程序的常见问题:PyCharm的运行环境会在程序结束后保持控制台窗口打开,而独立的EXE程序执行完所有代码逻辑后,会立即终止进程并关闭控制台窗口,导致用户来不及查看输出结果。

解决办法

方法1:在代码末尾添加暂停逻辑

在代码最后一行(打印GPA结果之后)添加等待用户输入的代码,让程序在用户操作后再退出:

# 等待用户输入,防止窗口自动关闭
input("按任意键退出...")

如果需要兼容Windows系统的传统“按任意键继续”提示,也可以使用os模块(需先导入os):

import os
os.system("pause")

方法2:从命令提示符手动运行EXE

打开Windows命令提示符(CMD),切换到EXE所在的文件夹,输入EXE文件名并回车运行。这种方式下,程序执行完毕后控制台窗口不会自动关闭,你可以直接查看输出结果。

方法3:打包时调整PyInstaller参数

确保打包时使用控制台模式(默认就是此模式),如果之前误选了窗口模式(--windowed或--noconsole参数),需要去掉这些参数,重新打包。

内容的提问来源于stack exchange,提问作者Kim Teo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 22:50:30