python程序idle能运行无错误,但是命令行窗口一闪而过
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python程序idle能运行无错误,但是命令行窗口一闪而过相关的知识,希望对你有一定的参考价值。
我的程序里是包含input的。注意:我要问的不是解决方案,而是此情况出现的原因
先import os然后加个os.system("pause")看看
原因是你双击运行时,程序是按顺序执行的,当执行完最后语句时程序就退出了,给我们的感觉就是有个黑窗口一闪而过,加上os.system("pause")后程序运行结束后会暂停执行,然后等待用户输入再退出。在命令行窗口执行脚本也是可行的,因为程序的输出是到命令行窗口 参考技术A 如果是python3就用input,如果是python2就要用raw_input
你先进入cmd.exe命令行环境。
然后cd到你的工作目录
c:\pythonxxx\python <你的程序>py追问
我擦,恭喜你成功的避开了所有的得分点。回答的驴唇不对马嘴
追答你先试着做一下看。致于为什么一闪而过。解释清楚你也自己试过才明白。
本回答被提问者和网友采纳如何在 IDLE 中停止 Python 程序的执行
【中文标题】如何在 IDLE 中停止 Python 程序的执行【英文标题】:How to stop Python program execution in IDLE 【发布时间】:2011-01-28 11:00:53 【问题描述】:我有一个使用plt.show()
作为最后一条指令的python 脚本。当它运行时,IDLE 只是在最后一条指令之后挂起。我得到了图像,但没有得到提示。
在其他脚本中,我通常使用ctrl-c
来中断程序(有时不能立即运行),但是如何使用plt.show()
恢复提示? Ctrl-c
不起作用...
还有其他方法可以停止程序吗?
这在 Windows 上是 IDLE,如果有什么不同的话。
【问题讨论】:
这里有一些选项:***.com/questions/1219394 【参考方案1】:我在 Canopy Python 编辑器中遇到了同样的问题,我能够使用 CTRL+.
(“点”按钮)中断 python 会话。希望有帮助,或者他们可能以类似的方式做事
【讨论】:
【参考方案2】:Ctrl+F6 (重启外壳)
或Shell->重启Shell
【讨论】:
【参考方案3】:当您使用plt.show()
时,python 子进程进入 GUI 工具包的事件循环并阻塞,直到事件循环退出。当它退出时,你会得到提示。
如果您使用的是 TkAgg 后端,则需要在按下 Ctrl+C 后将鼠标移到图形上。这将导致事件循环停止。 (Tkinter 有它的怪癖)
或者,IdleX 使用 EventLoop.py 扩展名提供带有 IDLE 的 Matplotlib 支持。您可以在不使用plt.show()
的情况下显示图形并与之交互。请务必在生成数字之前设置plt.interactive(True)
。
【讨论】:
【参考方案4】:我在 Windows 上使用 IDLE 和 matplotlib 时发现了这个问题。我不知道确切的原因,但是 Ctrl-c 几次通常对我有用。如果这对您不起作用,您可以使用普通解释器而不是将绘图直接写入文件而不是屏幕。
这是 IDLE 的行为不像普通 Python 脚本或解释器会话的那些(大量)时间之一。因此,我通常避免 IDLE。
【讨论】:
不幸的是,Windows 上的选项不是很好。我直接使用交互式解释器(尽管 cmd.exe 不是那么好)并从 gvim 调用 Python 来运行脚本。任意数量的编辑器和 IDE 都可以直接调用 Python,其中许多都列在 wiki.python.org/moin/IntegratedDevelopmentEnvironments 上。 iPython 可能会遇到一些与 IDLE 相同的问题,但我怀疑它会竭尽全力让 matplotlib 工作(我自己从不使用它,所以我不能保证)。 当在 IDLE 的 Shell 中按下 ^C 时,Shell 会向执行进程发送一条消息以在此处引发中断。大多数情况下,如果在 Python 下直接运行时按下 ^C,它就会失败。有一些完全独立于 IDLE 的原因,为什么 Python 不能总是优雅地停止并在 ^C 中断信号时发出 >>> 提示。以上是关于python程序idle能运行无错误,但是命令行窗口一闪而过的主要内容,如果未能解决你的问题,请参考以下文章