在获得输出后,如何阻止python.exe立即关闭?

Cli*_*ton 32 python

有什么办法可以阻止python.exe在完成后立即关闭吗?它关闭的速度比我读取输出的速度快.

这是程序:

width = float(input("Enter the width: "))
height = float(input("Enter the height: "))
area = width * height
print("The area is", area, "square units.")
Run Code Online (Sandbox Code Playgroud)

小智 48

你不能 - 全局,即每个python程序.这是一件好事--Python非常适合脚本编写(自动化东西),脚本应该能够在没有任何用户交互的情况下运行.

但是,您始终可以在程序结束时询问输入,从而有效地保持程序活动直到您按下返回.使用input("prompt: ")在Python 3(或raw_input("promt: ")在Python 2).或习惯从命令行运行程序(即python mine.py),程序将退出,但其输出仍然可见.


小智 15

只需声明一个类似km任何其他你想要的变量,现在只需在程序结束时添加这段代码即可

k=input("press close to exit") 
Run Code Online (Sandbox Code Playgroud)

在这里我只假设k为变量来暂停程序,你可以使用你喜欢的任何变量.

  • 首先,你没有"声明" - Python中的变量声明是隐含的.其次,您无需为变量分配调用的返回值. (5认同)

msw*_*msw 7

辅助答案

Manoj Govindan的回答是正确的,但我看到了这个评论:

从终端运行它.

并且开始考虑为什么这对Windows用户来说并不那么明显,并且意识到这是因为CMD.EXE对于shell来说是一个如此糟糕的借口,它应该从以下开始:

Windows命令解释器版权所有1999 Microsoft
Mein Gott !! 无论你做什么,都不要使用这个!!
C:>

这让我指出/sf/ask/63973871/


sar*_*ple 7

对于Windows环境:

如果您不想转到命令提示符(或在限制命令提示符的环境中工作),我认为以下解决方案比在python中插入代码要求您按任意键更好 - 因为如果程序崩溃在它到达该点之前,窗口关闭并且您丢失了崩溃信息.我使用的解决方案是创建一个bat文件.

使用记事本创建文本文件.在文件中,内容将类似于:

my_python_program.py
pause
Run Code Online (Sandbox Code Playgroud)

然后将文件另存为"my_python_program.bat"

当你运行bat文件时,它将运行python程序并在结尾处暂停以允许你读取输出.然后,如果您按任意键,它将关闭窗口.


Man*_*dan 5

看起来您正在通过双击 Windows 中的某些东西来运行它。这将在新窗口中执行程序并在终止时关闭该窗口。难怪你无法读取输出。

更好的方法是切换到命令提示符。导航( cd) 到程序所在的目录,然后使用 调用它python。像这样的东西:

C:\> cd C:\my_programs\
C:\my_programs\> python area.py
Run Code Online (Sandbox Code Playgroud)

替换my_programs为程序的实际位置和area.pypython 文件的名称。

  • @Clinton,您可以在脚本完成后使用“-i”标志将其放入 shell。`python -i script.py`。这对于调试非常方便,因为您位于脚本定义的模块的命名空间中。 (3认同)