python解释器有2个版本,一个是python,另外一个是pythonw。那它们之间有什么区别呢?什么情况下用python什么情况下用pythonw?
先做个小实验,写2个小程序,一个只是输出字符串,一个GUI程序。
* 输出字符串程序 – console.py
import os print 'Current platform is ', os.name input=raw_input() print input
* GUI程序 – GUI.py
import wx class TestFrame( wx.Frame ): def __init__( self, parent=None, pos=wx.DefaultPostion, size=wx.DefaultSize ): wx.Frame.__init__( self, parent=parent, pos=pos, size=size ) self.Show() if __name__ == '__main__': app = wx.App() TestApp() app.MainLoop()
假设你是在windows下面,直接双击 console.py, 你就可以看到启动了一个控制台窗口,打印除了你的系统平台信息,在windows xp下面是nt。现在我们换一种方式来执行这个程序,右击console.py这个文件,选择打开方式->浏览->选择你的python安装目录下的pythonw.exe,如果你是采用的默认的安装的方式的话,这个文件应该在c:pythonxx,这里的xx是版本信息,比如我的版本是2.7所以xx是27。
然后运行,你会发现什么东西都没有。
对了,肯定是什么都没有,因为这种方式下,控制台窗口会被隐藏,所以输出到控制台的东西当然看不到了。
现在我们来运行gui.py的这个程序,同样还是先双击它,你会发现弹出一个窗口,同时你会看到还有一个控制台窗口,也就是总共弹出了2个窗口。接下来我们选择右键->打开方式,使用pythonw来打开,结果呢?
只有一个窗口,没有控制台窗口了。
也就是如果你的程序只是在控制台窗口中输入输出一些东西,那么使用python打开,这个是你安装完python默认的行为,当然你也可以更改这种默认的行为。如果你的程序的GUI的程序,那么你即可以使用python.exe还可以使用pythonw.exe来打开,如果你不像看到控制台窗口的话,那么pythonw会是你的选择。
版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.