真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python常見的文件格式是什么-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

創(chuàng)新互聯(lián)于2013年開始,先為林口等服務(wù)建站,林口等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為林口企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

python常見的文件格式是什么?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

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

一般認(rèn)為,Python 是一種解釋性語(yǔ)言,Python 在執(zhí)行時(shí),會(huì)先將 .py 文件中的源代碼編譯成  byte code (字節(jié)碼)

然后再由 Python Virtual Machine(虛擬機(jī)) 來(lái)執(zhí)行這些編譯 byte code。

這種機(jī)制的基本思想跟 Java、.NET 一致;但 Python Virtual Machine 與 Java 或 .NET 的 Virtual Machine 不同的是:Python 的 Virtual Machine 是一種更高級(jí)的 Virtual Machine。這里的高級(jí)并不是通常意義上的高級(jí),不是說(shuō) Python 的 Virtual Machine 比 Java 或 .NET 的功能更強(qiáng)大,更拽,而是說(shuō)和 Java 或 .NET 相比,Python 的 Virtual Machine 距真實(shí)機(jī)器的距離更遠(yuǎn)?;蛘呖梢赃@么說(shuō),Python 的 Virtual Machine 是一種抽象層次更高的 Virtual Machine。

Python 提供了一種中間編譯結(jié)果保存機(jī)制,即 byte code,或更準(zhǔn)確地說(shuō),保存 PyCodeObject。事實(shí)上,Python 確實(shí)提供了這樣一種機(jī)制 —— .pyc 文件。在執(zhí)行一個(gè) .py 文件的源代碼之后,Python 并不會(huì)自動(dòng)生成與該 .py 文件對(duì)應(yīng)的 .pyc 文件。Python 會(huì)根據(jù)需要自動(dòng)觸發(fā)、創(chuàng)建 .pyc 文件,原理很簡(jiǎn)單,就是利用 Python 的 import 機(jī)制

在 Python 運(yùn)行過(guò)程中如碰到 import abc 這樣的語(yǔ)句,Python 將會(huì)在設(shè)定好的 path 中尋找 abc.pyc 或 abc.dll 文件。若沒有這樣的文件,而只是發(fā)現(xiàn)了 abc.py 文件,那么,Python 會(huì)首先將 abc.py 編譯成相應(yīng)的 PyCodeObject 中間結(jié)果,然后再創(chuàng)建 abc.pyc 文件,并將中間結(jié)果寫入該文件。接下來(lái),Python 才會(huì)對(duì) abc.pyc 文件進(jìn)行一個(gè) import 動(dòng)作,實(shí)際上也就是將 abc.pyc 文件中的 PyCodeObject 重新在內(nèi)存中復(fù)制出來(lái),加以運(yùn)行。

由于 Python .pyc 文件的此種運(yùn)行機(jī)制,所以,可隨時(shí)刪除所有中間過(guò)程 .pyc 文件,當(dāng) Python 再次運(yùn)行時(shí),還會(huì)重生成這些 .pyc 文件,對(duì)您所編輯程序的運(yùn)行并無(wú)任何影響。當(dāng)然,得有源代碼才行

視窗用 python.exe 運(yùn)行 .py ,用 pythonw.exe 運(yùn)行 .pyw。因?yàn)榘惭b視窗版 Python 時(shí),擴(kuò)展名 .py 自動(dòng)被登記為用 python.exe 運(yùn)行, 而 .pyw 則被登記為用 pythonw.exe 運(yùn)行。

.py文件

以 .py 作擴(kuò)展名的文件是 Python 源代碼文件,由 python.exe 解釋,可在控制臺(tái)下運(yùn)行。

當(dāng)然,也可用文本編輯器或其它專用 Python IDE (集成開發(fā)環(huán)境) 工具進(jìn)行修改。

.pyc文件

以 .pyc 作擴(kuò)展名的文件是 python 編譯文件。.pyc 文件是不能直接用文本編輯器進(jìn)行編輯,其優(yōu)點(diǎn)是 .pyc 文件的執(zhí)行速度要遠(yuǎn)快于 .py 文件。

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

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

.pyw文件

.pyc 文件執(zhí)行時(shí),桌面會(huì)出現(xiàn)類似 CMD 命令的黑色 shell 窗口,十分難看,于是 .pyw 文件就應(yīng)運(yùn)而生了。.pyw 文件與 .pyc 文件的執(zhí)行,本質(zhì)上并沒什么區(qū)別,只是 .pyw 文件執(zhí)行的時(shí)候不會(huì)出現(xiàn)類似 CMD 命令的黑色 shell 窗口。

.pyw 文件格式主要是設(shè)計(jì)用來(lái)運(yùn)行 Python 純 GUI (圖形用戶界面) 程序的。純 GUI (圖形用戶界面) 程序的用戶不需要看到類似 CMD 命令的黑色 shell 控制臺(tái)窗口。當(dāng) .pyw 文件運(yùn)行時(shí),所有 stdout(標(biāo)準(zhǔn)輸入輸出)、stderr(標(biāo)準(zhǔn)錯(cuò)誤) 輸出無(wú)效,所有原 stdin(標(biāo)準(zhǔn)輸入) 的讀取只會(huì)得到 EOF。

值得一提的是,開發(fā)純 GUI (圖形用戶界面) 程序時(shí),可暫時(shí)把 .pyw 改成 .py,以便運(yùn)行時(shí)調(diào)出控制臺(tái)窗口,看到所有錯(cuò)誤信息,方便修改、調(diào)試。

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

.pyd文件格式

.pyd 文件是非 Python,由其它編程語(yǔ)言 "編寫-編譯" 生成的 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 (圖形用戶界面) 開發(fā)框架綁定,會(huì)為每個(gè) Qt/C++ 庫(kù) .dll 文件生成一個(gè)中間 .pyd 文件。PyWin32 項(xiàng)目分發(fā)包中,也存在很多 MicroSoft Windows OS 相應(yīng) .dll 文件的中間 .pyd 文件。

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

看完上述內(nèi)容,你們掌握python常見的文件格式是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!


名稱欄目:python常見的文件格式是什么-創(chuàng)新互聯(lián)
當(dāng)前地址:http://weahome.cn/article/cdgppj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部