请问我在spyder上可以直接运行程序,为啥保存为python程序后一运行就自动弹出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问我在spyder上可以直接运行程序,为啥保存为python程序后一运行就自动弹出相关的知识,希望对你有一定的参考价值。

第二张图片是运行界面

参考技术A 直接双击exe文件的话,程序会在运行完毕后自动退出,而源代码的开发环境是有内置编译器的,运行完后程序会在退出之前供用户查看结果。
解决方法很简单:
input()
等待用户输入函数,放在源代码的末尾处,目的是供用户查看结果。追问

谢谢,这样真的可以用了

我可以再问一下如果要在exe里面重复运行程序该怎么操作

因为现在只能运行一次,再要运行只能退出再打开文件了

追答

可以用死循环:
while true:
//程序源代码
print('请按任意键继续...')
input();//继续运行

若要退出程序,关闭运行窗口或者按Ctrl-C键即可

参考技术B 我用为什么在佩斯软件直接程序运行程序就是用配置程序运安装就行了。

我在 vb6(winsock) 中创建的客户端/服务器程序不能在 WAN 上运行,但可以在 LAN 上完美运行 为啥?

【中文标题】我在 vb6(winsock) 中创建的客户端/服务器程序不能在 WAN 上运行,但可以在 LAN 上完美运行 为啥?【英文标题】:My client/server program created in vb6(winsock) dont work on WAN but perfectly works n LAN Why?我在 vb6(winsock) 中创建的客户端/服务器程序不能在 WAN 上运行,但可以在 LAN 上完美运行 为什么? 【发布时间】:2013-01-14 20:52:58 【问题描述】:

我在vb6 中的winsock 的帮助下创建了一个简单的客户端/服务器程序。它在 LAN 上完美运行,但问题是它在 WAN 上不起作用。所有端口都已打开,防火墙已关闭,我有动态 IP,所以我使用No-ip 来获取命名 IP 地址。 我想问的另一个问题是,在客户端和服务器上打开端口是否重要?例如-我在端口 50505 上创建了程序,在客户端计算机上端口是打开的,但在服务器上打开 50505 也很重要吗??

这是我的project。

如果有人能找到问题,请告诉我。我会很感激的

【问题讨论】:

【参考方案1】:

好的,首先确保在客户端程序中,Localport 未设置为任何值,因为 Windows 会为其分配一个,但 RemotePort 设置为 50505。在服务器端,RemotePort 设置为空,并且LocalPort 设置为 50505。

接下来,您需要确保您的服务器在您的网络上有一个静态 IP。 所以如果你的路由器的 LAN IP 是 192.168.1.1 你需要将你的服务器设置为 像 192.168.1.50 这样的东西,只要确保它没有被放入范围或 DHCP 服务器(即从路由器为每台计算机提供 IP 地址的服务器)。

接下来,您需要将路由器设置为“端口转发”。默认情况下,您的路由器不知道如何处理互联网发送给它的数据。您必须设置路由器以将任何数据从端口 50505 转发到网络上的服务器。

虽然这个接缝很长而且拉得很长,但安装时间不应超过 5-10 分钟。

祝你好运!

【讨论】:

只能说我花了 2 年时间才明白你所说的。【参考方案2】:

您需要配置服务器后面的路由器,以将该端口上的连接转发到运行服务器的计算机。

否则客户端将无法连接到服务器。

【讨论】:

假设他在 NAT 路由器后面,这是互联网术语中的“不寻常”(几乎是“异常”)情况,尽管在今天太常见了,几乎是台式机的规则。 你的回答对我没有帮助。请我想要一个解决方案 @Sam:你不明白哪一部分? 看,我在两台计算机上都打开了端口(在 WAN 上),即 50505,并且我在两台计算机上都禁用了防火墙。我尝试连接但失败了。为什么会这样。它在局域网上完美运行。我的路由器有一个 NAT 选项,其中有一个虚拟端口选项,它有助于打开端口,我成功打开它,但我还是失败了。看起来winsock只适用于局域网,但我知道我错了。请找到任何解决方案,请

以上是关于请问我在spyder上可以直接运行程序,为啥保存为python程序后一运行就自动弹出的主要内容,如果未能解决你的问题,请参考以下文章

win下opencv为啥在spyder上运行不了了

为啥我在运行 Python 时在 Spyder 中收到“启动内核时发生错误”?

当我在 Spyder 中运行它以及直接在终端中运行它时,HIGH DPI Tkinter 重新缩放

为啥 Miniconda 没有运行最新版本的 Spyder?

为啥我不能从 Spyder 导入 scikit-learn,但我可以从命令行导入?

Spyder 5.1.5 中不保存代码折叠