python.exe和pythonw.exe的區別(區分.py、.pyw、.pyc文件)


在用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 運行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM