鱼C论坛

 找回密码
 立即注册
查看: 3051|回复: 5

[已解决]在windows中双击打开py程序会闪退

[复制链接]
发表于 2019-12-15 14:21:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在windows中双击打开py程序会闪退,
在idle中打开,并且执行文件才能正常,这是什么原因呢?
最佳答案
2019-12-15 15:06:23
因为通常情况双击 .py 程序是会直接打开命令提示符,跑完程序后,会把窗口给关闭,因为程序结束了。
需要在代码的最后加上
  1. input()
复制代码

或者 import os 库,在代码的最后加上
  1. os.system('pause')
复制代码

推荐后者,因为 os.system('pause') 是正经悬停窗口的路子,这样的话程序跑完了窗口也不会关,会释放程序占用的空间。
用 input 的话只有换行才是关闭窗口,并且程序还是会一直开着,浪费计算机资源。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-12-15 14:23:54 | 显示全部楼层
用 Python Launcher 执行 .py 程序,一执行完窗口就关掉了,所以会造成闪退的假象。

解决方法:在文件末尾添加一句 input()。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-15 14:39:51 From FishC Mobile | 显示全部楼层
狠正常的事情,py就不是双击执行的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-15 15:06:23 | 显示全部楼层    本楼为最佳答案   
因为通常情况双击 .py 程序是会直接打开命令提示符,跑完程序后,会把窗口给关闭,因为程序结束了。
需要在代码的最后加上
  1. input()
复制代码

或者 import os 库,在代码的最后加上
  1. os.system('pause')
复制代码

推荐后者,因为 os.system('pause') 是正经悬停窗口的路子,这样的话程序跑完了窗口也不会关,会释放程序占用的空间。
用 input 的话只有换行才是关闭窗口,并且程序还是会一直开着,浪费计算机资源。

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
zltzlt + 5 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-15 15:09:46 From FishC Mobile | 显示全部楼层
阴阳神万物主 发表于 2019-12-15 15:06
因为通常情况双击 .py 程序是会直接打开命令提示符,跑完程序后,会把窗口给关闭,因为程序结束了。
需要 ...

加哪个都不好,py文件就是再命令行下执行的
除非你使用类似pycharm一类的自己集成命令行的 ide
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-15 15:27:22 | 显示全部楼层
wp231957 发表于 2019-12-15 15:09
加哪个都不好,py文件就是再命令行下执行的
除非你使用类似pycharm一类的自己集成命令行的 ide

这是我曾经编写 C++ 代码的经验,虽然源代码这种东西是没必要悬停窗口,但架不住人家任性偏要看啊。
在想看打印出来的内容时,用 python 执行源代码的话还有个 idle 可以看打印的值,但有的情况就是源代码已经编译成.exe文件了还是调用命令提示符的,这种情况要看打印值,不就只能这么办了吗?或者代码写成文件读写的那种。

无论如何都要看命令提示符打印出来的值的话,不就只能两害相权取其轻了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-18 16:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表