首页 > 编程语言 > 详细

python.exe和pythonw.exe的区别(区分.py、.pyw、.pyc文件)

时间:2021-07-10 21:48:18      阅读:17      评论:0      收藏:0      [点我收藏+]

在用Windows系统搭建好的Python目录中,会发现Python.exe和Pythonw.exe两个程序,它们的差别是什么呢?

技术分享图片

简单概括:

python.exe以控制台方式启动,在运行程序的时候,会弹出一个黑色的命令行控制行窗口(也叫DOS/CMD窗口)

技术分享图片

pythonw.exe以标准WIN32 GUI方式启动,双击图标不会出现命令控制行窗口,是无窗口的Python可执行程序,代码在后台执行。


使用Pythonw.exe来执行py程序,则需要注意一个问题:如果在py程序中使用了print语句,当print语句填满stdout的输出缓冲后,pythonw.exe会抛出以下异常:

IOError: [Errno 9] Bad file descriptor

然后pythonw.exe则会悄悄地退出而不报告任何错误,如果是线程中使用了print,则会导致该线程悄悄地退出。这个问题有以下再个解决方案:

1. 刷新控制台缓冲

2. 将stdout重定向输出到文件或者空设备


 

根据python.exe和pythonw.exe也可以看出来.py文件和.pyw文件的差别:

扩展名为 .py 的文件被默认为用 python.exe 运行的文件,而 .pyw文件则被默认为用 pythonw.exe 运行。

 

python.exe和pythonw.exe的区别(区分.py、.pyw、.pyc文件)

原文:https://www.cnblogs.com/weijia-home/p/14994473.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!