苏州市相城区教师招聘:python的文件格式有两种,"*.py"和"*.pyw",它们有什么不同?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/08 17:00:28

<tab>严格来说,它们之间的不同就只有一个:视窗运行它们的时候调用不同的执行档案。

视窗用 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 格式。

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