您的位置:首页 > 其它

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

2014-02-21 15:27 387 查看


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 格式。

转自:http://www.dnxxj.com/questions/4757950c0af74f/python%E7%9A%84%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F%E6%9C%89%E4%B8%A4%E7%A7%8D%EF%BC%8C%26quot%3B*.py%26quot%3B%E5%92%8C%26quot%3B*.pyw%26quot%3B%EF%BC%8C%E5%AE%83%E4%BB%AC%E6%9C%89%E4%BB%80%E4%B9%88%E4%B8%8D%E5%90%8C%EF%BC%9F.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐