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会是你的选择。

python里w_python vs pythonw | 学步园相关推荐

  1. python从邮箱获取指定邮件_用python提取并统计指定邮箱里的特定邮件 | 学步园

    1.需求描述: 我们经常有这样的需求,需要某个邮箱中提取一个mailist的人员,发来的特定邮件,比如他们的周报,提交的patch等等.由于这是一个周期性的工作,有很大的重复和繁杂性,我们这里编写了一 ...

  2. python制作ico图标_用Python提取exe图标icon | 学步园

    这里使用Python win32包中的win32gui.ExtractIconEx方法来提取exe的图标,除了安装Python,还需要到这里下载Pywin. 第一份代码 将指定的a.exe图标保存为b ...

  3. python 地址_python 解析地址 | 学步园

    socekt.getaddrinfo的返回值介绍 family: 表示socket使用的协议簇.常用的协议簇包括AF_UNIX(本机通信)/AF_INET(TCP/IP协议簇中的IPv4协议)/AF_ ...

  4. python开发服务程序_Python 编写Windows服务程序:将Python作为Windows服务启动 | 学步园...

    Python程序作为Windows服务启动,需要安装pywin32包.下载路径: #-*- coding:utf-8 -*- import win32serviceutil import win32s ...

  5. python发送notes邮件_使用python 驱动 lotus notes发送邮件 | 学步园

    因为最近做buildbot,想要使用公司的邮件系统 lotus notes发送邮件,但是网上一直没有比较完整的例子,都是vb的例子比较多,或者例子不完整,后来看到一个用visual foxpro 做的 ...

  6. python分形算法_python 分形 | 学步园

    代码如下: #!/usr/bin/env python # -*-coding:UTF-8-*-# from common import * import Image, ImageFilter, ma ...

  7. python构建矩阵_python矩阵运算 | 学步园

    第一次看见Python的运行感觉就让我想起了matlab,于是就上网嗖嗖他在矩阵方面的运算如何,如果不想安装Matlab那么大的软件,而你又只是想计算些矩阵,python绝对够用!尤其在Linux下太 ...

  8. python分句_Python 中文分句 | 学步园

    # coding: utf-8 #设置分句的标志符号:可以根据实际需要进行修改 cutlist =".!?".decode('utf-8') #检查某字符是否分句标志符号的函数:如 ...

  9. python修改ip地址_用Python更改IP地址(转) | 学步园

    #-*- coding: cp936 -*-# #FileName: ModifyIP.py#Date    : 2008-01-15#importwmiprint'正在修改IP,请稍候 'wmiSe ...

最新文章

  1. Cisco路由器的Flash和NVRAM
  2. 【百战GAN】羡慕别人的美妆?那就用GAN复制粘贴过来
  3. MySQL——排序查询
  4. 本地缓存需要高时效性怎么办_详解微信小程序缓存--缓存时效性
  5. EXCEL 图表 只在拐点的时候显示数字
  6. java ftp获取文件名的方法_小猿圈Java学习-URL地址的组成格式
  7. 下月上市!中兴AXON 10 Pro 5G版通过3C认证 加入5G大战
  8. unique_ptr智能指针
  9. 动态阈值_如何设置数据看板(大屏)数据异常报警的动态阈值
  10. 辨异 —— Java 中 String 的相等性比较
  11. connection error mysql_MySQL ConnectionError 安装错误 解决方法
  12. 四小龙变“四小虫”?AI独角兽们的AI+故事好不好讲?
  13. 20952磁盘存储器的管理
  14. Sencha touch 开发指南
  15. Android OpenCV应用篇三:提取图片中的文字
  16. 个人发展分析:SWOT
  17. Android实现返回主页,禁止返回上一层等功能
  18. linux下/proc/sysrq-trigger详解
  19. matlab双纵坐标的绘图命令_[转载]MATLAB画双纵坐标 plotyy的用法 对数坐标
  20. python设置背景图片大全_Python实例讲解 - tkinter canvas (设置背景图片及文字)

热门文章

  1. android mtk平台,android mtk平台默认输入法
  2. 各种存储分配算法java代码实现_Java实现操作系统中四种动态内存分配算法:BF+NF+WF+FF...
  3. java解析pom.xml_从pom.xml java获取变量
  4. python抓取教学_Python Selenium 实战教学:爬取每日天气
  5. 第八届蓝桥杯第二题等差素数列
  6. 2 Linux磁盘管理
  7. Angular2 - Starter - NgModule
  8. SQL Server删除重复行的6个方法
  9. Java模板引擎 FreeMarker介绍1
  10. 通过Lotusscript修改数据库主模板属性