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