在Python中是否可以使用标准库最小化控制台(无需额外模块)?
我写了一个使用控制台的程序。大部分时间,用户需要看到控制台的信息。不过,对于命令行中的某个特定功能,我想在不弹出控制台窗口的情况下运行这个脚本。我只是希望看不到窗口,但它可以在任务栏中。我知道可以使用一些额外的模块(比如gui、win32等)来实现这个功能,但我想用标准的Python库来完成。
这样做可能吗?
这个程序需要在Windows上运行。(使用Python 2.7)
我想说明一下……我知道我也可以使用pythonw.exe。那么问题是,如何在命令行中有时用python.exe启动同一个脚本,有时用pythonw.exe来执行特定功能呢?
3 个回答
0
我第一个想法是为这个特定的任务写一个 .pyw 的脚本,这样在执行的时候,只会短暂地弹出原始脚本的控制台。
1
在Windows系统上,你安装的Python里有两个可执行文件,一个是“python.exe”,这个是你通常使用的。还有一个叫“pythonw.exe”,这个是专门用来运行图形界面程序的。它的工作方式和“python.exe”一样,但不会显示控制台窗口。
8
我在谷歌上找到了这个问题,所以来回答一下,如何在Windows上运行Python脚本时最小化(而不是完全隐藏)控制台窗口:
# Python 3
import ctypes
ctypes.windll.user32.ShowWindow( ctypes.windll.kernel32.GetConsoleWindow(), 6 )
GetConsoleWindow() 这个函数可以获取当前控制台窗口的句柄。
ShowWindow(hWnd, nCmdShow) 这个函数可以设置特定窗口的属性。6
代表 SW_MINIMIZE
,点击链接可以查看其他参数。