我打开我的CMD控制台来运行我的main.exe。我输入:
python main.exe
我的main.exe是一个用Tkinter编写的小窗口。当我关闭命令控制台时,我的程序结束,窗口关闭。我想在不终止程序的情况下终止控制台。
编辑:
将我的文件另存为.pyw不起作用。此外,控制台不仅神奇地出现。我没有在IDE中运行脚本。我用DOS打开它。当我关闭cmd控制台时,程序就会关闭。
答案 0 :(得分:2)
使用pythonw.exe运行它。
原因是在Windows上,可执行文件有一个标志告诉操作系统他们是否使用控制台。 python.exe需要一个控制台,如果还没有连接到一个,它将创建一个。 pythonw.exe与GUI标志链接,不创建控制台,如果从控制台窗口运行,将从该控制台分离。
这就是为什么Tk在Windows上使用wish.exe而不是使用'package require Tk'的tclsh.exe,这在Unix上是可以的,但在Windows上提供了一个不需要的控制台窗口。
如果将扩展名更改为.pyw无助于检查与此扩展程序关联的程序。例如,在我使用Python 3.4的Windows机器上,我有:
C:\opt\Python>assoc .pyw
.pyw=Python.NoConFile
C:\opt\Python>ftype Python.NoConFile
Python.NoConFile="C:\Windows\pyw.exe" "%1" %*
运行时pyw.exe不会附加到我的控制台。