pyc文件怎么執(zhí)行 如何手動(dòng)編譯成pyc,可以直接執(zhí)行pyc么?
如何手動(dòng)編譯成pyc,可以直接執(zhí)行pyc么?Pyc文件是py程序編譯后得到的字節(jié)碼文件(py-pyc)。python會(huì)對(duì)其進(jìn)行編譯,以提高運(yùn)行效率。有時(shí),在編譯pyc文件后,刪除PYC文件不會(huì)出錯(cuò),這
如何手動(dòng)編譯成pyc,可以直接執(zhí)行pyc么?
Pyc文件是py程序編譯后得到的字節(jié)碼文件(py-pyc)。python會(huì)對(duì)其進(jìn)行編譯,以提高運(yùn)行效率。有時(shí),在編譯pyc文件后,刪除PYC文件不會(huì)出錯(cuò),這將有助于PYC文件的制作。舉個(gè)例子給樓主添加一個(gè)邏輯文件,里面有很多函數(shù)A,B,C,d,這個(gè)時(shí)候如果你有一個(gè)測(cè)試腳本要導(dǎo)入,只要你運(yùn)行測(cè)試腳本,它就會(huì)在目錄里。
pyc反編譯原理?
反編譯的過程就是虛擬一個(gè)執(zhí)行環(huán)境,看看程序執(zhí)行了哪些指令,翻譯成相應(yīng)的語(yǔ)句。一般的流程是先把程序轉(zhuǎn)移到數(shù)據(jù)段,虛擬化運(yùn)行環(huán)境。一般這樣分配文件頭,從指令程序的數(shù)據(jù)段記錄指令,加載到虛擬環(huán)境中,記錄指令,遇到跳轉(zhuǎn)指令時(shí),壓入堆棧形成樹形結(jié)構(gòu)(見數(shù)據(jù)結(jié)構(gòu)),遍歷各個(gè)節(jié)點(diǎn)的指令。形成一個(gè)完整的程序。即編譯的逆編譯是把代碼做成機(jī)器碼,反編譯是把機(jī)器碼做成代碼(匯編代碼等。),請(qǐng)閱讀。類文件,并將其中的機(jī)器語(yǔ)言轉(zhuǎn)換成java語(yǔ)言。我已經(jīng)用過了。類語(yǔ)言,但實(shí)際上相對(duì)于java,我或多或少能理解。
python的擴(kuò)展名?
Python程序有。py,。pyc,。皮歐和。pyd。。py是源文件。pyc是源文件的編譯文件。pyo是源文件的優(yōu)化編譯文件,而。pyd是用其他語(yǔ)言編寫的python庫(kù)。
寫Python程序的時(shí)候,我們常見的擴(kuò)展是py py,pyc,其實(shí)還有其他幾個(gè)擴(kuò)展。以下是幾個(gè)擴(kuò)展的用法。
Py: py是最基本的源代碼擴(kuò)展。直接雙擊windows下的Run將調(diào)用python.exe來執(zhí)行。
Pyw:pyw是另一個(gè)源代碼擴(kuò)展。與py的唯一區(qū)別是,在windows中雙擊帶有pyw擴(kuò)展名的源代碼會(huì)調(diào)用pythonw.exe來執(zhí)行源代碼。在這種執(zhí)行模式下沒有命令行窗口。它主要用在你不知道的情況下。;發(fā)布GUI程序時(shí),不需要查看控制臺(tái)信息。
Pyc:在執(zhí)行python代碼時(shí),經(jīng)常會(huì)看到在同一個(gè)目錄下自動(dòng)生成同名的pyc文件。這是從python源代碼編譯的字節(jié)碼。一般來說,代碼中引用的PY文件的pyC文件會(huì)在代碼執(zhí)行時(shí)自動(dòng)生成。這個(gè)文件可以直接執(zhí)行,你可以 當(dāng)你用文本編輯器打開它時(shí),你看不到源代碼。
Pyo:pyo是一個(gè)類似于pyc的優(yōu)化編碼文件。
Pyd:pyd不是從python程序中生成的,而是用其他語(yǔ)言編寫的可以被python調(diào)用的擴(kuò)展。