Python語言學(xué)習(xí)之文件格式后綴那些事:python和常見各種文件格式后綴介紹、使用方法之詳細攻略
Python語言學(xué)習(xí)之文件格式后綴那些事:python和常見各種文件格式后綴介紹、使用方法之詳細攻略
目錄
常見各種文件格式后綴介紹
.pyc文件介紹
.py文件介紹
.pxd 文件
.pyd 文件
常見各種文件格式后綴介紹
.pyc文件介紹
pyc文件,是python編譯后的字節(jié)碼(bytecode)文件。只要你運行了py文件,python編譯器就會自動生成一個對應(yīng)的pyc字節(jié)碼文件。這個pyc字節(jié)碼文件,經(jīng)過python解釋器,會生成機器碼運行(這也是為什么pyc文件可以跨平臺部署,類似于java的跨平臺,java中JVM運行的字節(jié)碼文件)。下次調(diào)用直接調(diào)用pyc,而不調(diào)用py文件。直到你這個py文件有改變。python解釋器會檢查pyc文件中的生成時間,對比py文件的修改時間,如果py更新,那么就生成新的pyc。
.py文件介紹
Python 最常用格式就是 .py (另一較常用格式為 .pyw),由 python.exe 解釋,可在控制臺下運行。當(dāng)然,也可用文本編輯器或其它專用 Python IDE (集成開發(fā)環(huán)境) 工具進行修改。常見情形是,用 Python 快速生成程序原型 (有時甚至是程序最終界面),然后對其中有特別要求的部分,用更合適的語言改寫;譬如:3D 游戲中的圖形渲染模塊,性能要求特別高,就可用 C/C++ 重寫,而后封裝為 Python 可調(diào)用的擴展類庫。需要注意的是,在您使用擴展類庫時可能需要考慮平臺問題,某些擴展類庫可能不提供跨平臺實現(xiàn)。此外,還可采用 Cython 為 Python 編寫 C 擴展。Cython 是編寫、包裹外部 C/C++ 庫的膠水代碼,將 CPython 嵌入現(xiàn)有應(yīng)用程序、加速 Python 代碼執(zhí)行的理想 C 模塊語言。
.pxd 文件
.pxd 文件是由 Cython 編程語言 "編寫" 而成的 Python 擴展模塊頭文件。.pxd 文件類似于 C 語言的 .h 頭文件,.pxd 文件中有 Cython 模塊要包含的 Cython 聲明 (或代碼段)。.pxd 文件可共享外部 C 語言聲明,也能包含 C 編譯器內(nèi)聯(lián)函數(shù)。.pxd 文件還可為 .pyx 文件模塊提供 Cython 接口,以便其它 Cython 模塊可使用比 Python 更高效的協(xié)議與之進行通信。
pyd文件是看不到的,Pyd實際上就是DLL文件,只是改了個后綴名而已!用OD,IDA之類的反編譯,和反編譯普通的DLL和EXE一樣。
可用 cimport 關(guān)鍵字將 .pxd 文件導(dǎo)入 .pyx 模塊文件中。
.pyx 文件
.pyx 文件是由 Cython 編程語言 "編寫" 而成的 Python 擴展模塊源代碼文件。.pyx 文件類似于 C 語言的 .c 源代碼文件,.pyx 文件中有 Cython 模塊的源代碼。不像 Python 語言可直接解釋使用的 .py 文件,.pyx 文件必須先被編譯成 .c 文件,再編譯成 .pyd (Windows 平臺) 或 .so (Linux 平臺) 文件,才可作為模塊 import 導(dǎo)入使用。
.pyd 文件
.pyd 文件是非 Python,由其它編程語言 "編寫-編譯" 生成的 Python 擴展模塊。Python 要導(dǎo)入 .pyd 文件,實際上是在 .pyd 文件中封裝了一個 module。在 python 中使用時,把它當(dāng)成 module 來用就可以了,即:"import 路徑名.modulename" 即可,路徑名為 .pyd 文件所在的路徑。
基于 Qt/C++ 的 PyQt、PySide GUI (圖形用戶界面) 開發(fā)框架綁定,會為每個 Qt/C++ 庫 .dll 文件生成一個中間 .pyd 文件。PyWin32 項目分發(fā)包中,也存在很多 MicroSoft Windows OS 相應(yīng) .dll 文件的中間 .pyd 文件。
Cython 可將個人基于 Python 語言編寫的 Python 模塊編譯成具有 C 語言特性的 .pyd 文件。.pyd 文件有時也是用 D 語言按照一定格式編寫,編譯生成的二進制文件。
那么什么是 "D 語言" 呢?它是 C/C++ 的綜合進化版,不僅具有二者的全部優(yōu)點,且整體性能更佳,但其抽象程度高。D 語言最初由 Digital Mars 公司就職的 Walter Bright 于 2001 年發(fā)布,意圖改進 C++ 語言。目前最新 D 語言被簡稱為 D2。最主要的 D 語言實現(xiàn)是 DMD。D 語言源自 C/C++,借鑒了眾多編程語言的特色和現(xiàn)代編譯器技術(shù),融會貫通了設(shè)計者豐富的實踐經(jīng)驗,使之具備了非凡的威力 ── 既有 C/C++ 語言的強大威力,又有 Python 和 Ruby 的開發(fā)效率。它集眾多系統(tǒng)級編程所需的功能于一身,例如垃圾回收、手工內(nèi)存操作、契約式設(shè)計、高級模板技術(shù)、內(nèi)嵌匯編、內(nèi)置單元測試、Mixin 風(fēng)格多繼承、類 Java 包管理機制、內(nèi)置同步機制、內(nèi)建基本運行時信息。
Python 的 .py 與 Cython 的 .pxd .pyx .pyd 文件格式之間的主要區(qū)別
C++ Python Windows
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。