python和pythonw
在Windows系統搭建好Python的環境后,進入Python的安裝目錄,大家會發現目錄中有python.exe和pythonw.exe兩個程序。如下圖所示:
它們到底有什么區別和聯系呢?
概括說明一下:
python.exe在運行程序的時候,會彈出一個黑色的控制台窗口(也叫命令行窗口、DOS/CMD窗口);
pythonw.exe是無窗口的Python可執行程序,意思是在運行程序的時候,沒有窗口,代碼在后台執行。
.py和.pyw文件的區別也來源於python.exe和pythonw.exe的區別:
安裝視窗版 Python 時,擴展名為 .py 的文件被默認為用 python.exe 運行的文件,而 .pyw文件則被默認為用 pythonw.exe 運行。
pyw
.pyw格式是被設計用來運行開發的純圖形界面程序的,純圖形界面程序的用戶不需要看到控制台窗口。在開發純圖形界面程序的時候,可以暫時把 .pyw 改成 .py ,運行時能調出控制台窗口,方便看到所有錯誤信息。
pyc
至於.pyc文件,是Python解釋器運行程序的過程中產生的字節碼文件(也就是中間文件)。Python什么情況下產生pyc文件?
pyo
在pyc的基礎上,去掉了assert和docstring
python3.5之后,無.pyo文件
編譯器基礎
.py經過編譯,生成.pyc和.pyo,使用-O和-OO參數
py文件執行后不馬上關閉窗口
這里還要解釋一個問題,如果.py文件直接用python.exe打開,文件被執行完成之后,視窗會立即關閉,如果想讓視窗停留,給大家提供幾個方法:
-
可以在程序中import time模塊,加入超長睡眠語句,如time.sleep(1800),如果你不手動關閉視窗,視窗將會停留30min;
-
可以調用sys和os模塊,使用命令行語句pause,示例:
import os os.system("pause")
-
在腳本的最后加入一行 input("請按任意鍵繼續"),這樣會等待輸入任意字符后才會關閉窗口