"*.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 格式。

阅读更多
文章标签: python
个人分类: python基础学习
上一篇python行内赋值
下一篇python三元运算符
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭