"*.py"和"*.pyw"的区别

python的文件格式有两种,"*.py"和"*.pyw",它们有什么不同?

问题


python的文件格式有两种,"*.py"和"*.pyw",它们有什么不同?


答案



实际上区别不大,不过*.py用python.exe解释,运行时会出现控制台窗口(也就是字符界面),*.pyw则用pythonw.exe解释,运行时不会出现控制台窗口,主要用于一些要图形界面的程序上,没理由当打开一个windows界面的时候还要在后面开一个黑黑的窗口吧,着应该是设计者的初衷吧我猜。 
严格来说,它们之间的不同就只有一个:视窗运行它们的时候调用不同的执行档案。 

视窗用 python.exe 运行 .py ,用 pythonw.exe 运行 .pyw 。 
这纯粹是因为安装视窗版 Python 时,扩展名 .py 自动被登记为用 python.exe 运行的文件, 
而 .pyw 则被登记为用 pythonw.exe 运行。 

.py 和 .pyw 之间的“其它差别”全都是 python.exe 和 pythonw.exe 之间的差别。 


跟 python.exe 比较起来,pythonw.exe 有以下的不同: 
1)执行时不会弹出控制台窗口(也叫 DOS 窗口) 
2)所有向原有的 stdout 和 stderr 的输出都无效 
3)所有从原有的 stdin 的读取都只会得到 EOF 

.pyw 格式是被设计来运行开发完成的纯图形界面程序的。 
纯图形界面程序的用户不需要看到控制台窗口。 

值得一提的是,开发纯图形界面程序的时候,你可以暂时把 .pyw 改成 .py , 
以便运行时能调出控制台窗口,看到所有错误信息,方便除虫。 

注:唯独视窗版 Python 有 .pyw 格式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值