亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python常見的文件格式是什么

發布時間:2020-09-24 14:56:49 來源:億速云 閱讀:148 作者:Leah 欄目:編程語言

python常見的文件格式是什么?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

這幾天,剛好因工作需要爬取網站圖片資源,下載了幾款軟件,想重寫軟件,對.pyd文件格式產生了疑惑

一般認為,Python 是一種解釋性語言,Python 在執行時,會先將 .py 文件中的源代碼編譯成  byte code (字節碼)

然后再由 Python Virtual Machine(虛擬機) 來執行這些編譯 byte code。

這種機制的基本思想跟 Java、.NET 一致;但 Python Virtual Machine 與 Java 或 .NET 的 Virtual Machine 不同的是:Python 的 Virtual Machine 是一種更高級的 Virtual Machine。這里的高級并不是通常意義上的高級,不是說 Python 的 Virtual Machine 比 Java 或 .NET 的功能更強大,更拽,而是說和 Java 或 .NET 相比,Python 的 Virtual Machine 距真實機器的距離更遠。或者可以這么說,Python 的 Virtual Machine 是一種抽象層次更高的 Virtual Machine。

Python 提供了一種中間編譯結果保存機制,即 byte code,或更準確地說,保存 PyCodeObject。事實上,Python 確實提供了這樣一種機制 —— .pyc 文件。在執行一個 .py 文件的源代碼之后,Python 并不會自動生成與該 .py 文件對應的 .pyc 文件。Python 會根據需要自動觸發、創建 .pyc 文件,原理很簡單,就是利用 Python 的 import 機制

在 Python 運行過程中如碰到 import abc 這樣的語句,Python 將會在設定好的 path 中尋找 abc.pyc 或 abc.dll 文件。若沒有這樣的文件,而只是發現了 abc.py 文件,那么,Python 會首先將 abc.py 編譯成相應的 PyCodeObject 中間結果,然后再創建 abc.pyc 文件,并將中間結果寫入該文件。接下來,Python 才會對 abc.pyc 文件進行一個 import 動作,實際上也就是將 abc.pyc 文件中的 PyCodeObject 重新在內存中復制出來,加以運行。

由于 Python .pyc 文件的此種運行機制,所以,可隨時刪除所有中間過程 .pyc 文件,當 Python 再次運行時,還會重生成這些 .pyc 文件,對您所編輯程序的運行并無任何影響。當然,得有源代碼才行

視窗用 python.exe 運行 .py ,用 pythonw.exe 運行 .pyw。因為安裝視窗版 Python 時,擴展名 .py 自動被登記為用 python.exe 運行, 而 .pyw 則被登記為用 pythonw.exe 運行。

.py文件

以 .py 作擴展名的文件是 Python 源代碼文件,由 python.exe 解釋,可在控制臺下運行。

當然,也可用文本編輯器或其它專用 Python IDE (集成開發環境) 工具進行修改。

.pyc文件

以 .pyc 作擴展名的文件是 python 編譯文件。.pyc 文件是不能直接用文本編輯器進行編輯,其優點是 .pyc 文件的執行速度要遠快于 .py 文件。

至于為什么要有 .pyc 文件,因為 .py 文件是可直接看到源碼的。若是軟件開發商,不可能把源碼泄漏出去?所以,就需編譯成 .pyc 后再發布。

但 .pyc 文件只是經簡單編譯,并未加密,因此,有些工具還能反編譯它得出源代碼。

.pyw文件

.pyc 文件執行時,桌面會出現類似 CMD 命令的黑色 shell 窗口,十分難看,于是 .pyw 文件就應運而生了。.pyw 文件與 .pyc 文件的執行,本質上并沒什么區別,只是 .pyw 文件執行的時候不會出現類似 CMD 命令的黑色 shell 窗口。

.pyw 文件格式主要是設計用來運行 Python 純 GUI (圖形用戶界面) 程序的。純 GUI (圖形用戶界面) 程序的用戶不需要看到類似 CMD 命令的黑色 shell 控制臺窗口。當 .pyw 文件運行時,所有 stdout(標準輸入輸出)、stderr(標準錯誤) 輸出無效,所有原 stdin(標準輸入) 的讀取只會得到 EOF。

值得一提的是,開發純 GUI (圖形用戶界面) 程序時,可暫時把 .pyw 改成 .py,以便運行時調出控制臺窗口,看到所有錯誤信息,方便修改、調試。

注意:采用 PyQt、PySide 等 GUI (圖形用戶界面) 開發框架開發的程序,源文件仍可采用 .py,無需單獨使用 .pyw。

.pyd文件格式

.pyd 文件是非 Python,由其它編程語言 "編寫-編譯" 生成的 Python 擴展模塊。

Python 要導入 .pyd 文件,實際上是在 .pyd 文件中封裝了一個 module。在 python 中使用時,把它當成 module 來用就可以了,即:"import 路徑名.modulename" 即可,路徑名為 .pyd 文件所在的路徑。

基于 Qt/C++ 的 PyQt、PySide GUI (圖形用戶界面) 開發框架綁定,會為每個 Qt/C++ 庫 .dll 文件生成一個中間 .pyd 文件。PyWin32 項目分發包中,也存在很多 MicroSoft Windows OS 相應 .dll 文件的中間 .pyd 文件。

Cython 可將個人基于 Python 語言編寫的 Python 模塊編譯成具有 C 語言特性的 .pyd 文件。

看完上述內容,你們掌握python常見的文件格式是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

法库县| 犍为县| 府谷县| 油尖旺区| 金平| 大足县| 五华县| 东宁县| 吕梁市| 共和县| 松滋市| 房山区| 台州市| 陇南市| 香河县| 上杭县| 大理市| 天水市| 郧西县| 蕲春县| 江油市| 新宁县| 甘洛县| 盐山县| 林甸县| 宣武区| 松桃| 桑日县| 汉源县| 资源县| 安达市| 芮城县| 沿河| 徐闻县| 吉林市| 仁布县| 封开县| 报价| 庆云县| 新营市| 嘉定区|