當前位置:首頁 » 編程軟體 » Pyc編譯

Pyc編譯

發布時間: 2022-04-13 04:36:42

① ".pyc"文件是什麼文件

pyc文件就是 py程序編譯後得到的位元組碼文件 (py->pyc),python為了提高運行效率也會進行編譯,有時候編譯出pyc文件後,刪除py文件也不會出錯

助於pyc文件的產生,給樓主舉例
加入你有一個邏輯文件abcd.py,裡面有很多函數A,B,C,D,這個時候,如果你有一個test腳本去導入了abcd.py,只要你運行test腳本,在adcd.py目錄下就會生成一個abcd.pyc文件,而不管你是否需要調用A,B,C,D函數

② python怎麼編譯成pyc文件

如下命令:

python-mcompileallxxx.py

可以對當前目錄下的xxx.py文件生成pyc

③ 如何手動編譯成pyc,可以直接執行pyc么

pyc文件就是 py程序編譯後得到的位元組碼文件 (py->pyc),python為了提高運行效率也會進行編譯,有時候編譯出pyc文件後,刪除py文件也不會出錯助於pyc文件的產生,給樓主舉例加入你有一個邏輯文件abcd.py,裡面有很多函數A,B,C,D,這個時候,如果你有一個test腳本去導入了abcd.py,只要你運行test腳本,在adcd.py目錄下就會生成一個abcd.pyc文件,而不管你是否需要調用A,B,C,D函數

④ pyc能編譯嗎

生成單個pyc文件
python就是個好東西,它提供了內置的類庫來實現把py文件編譯為pyc文件,這個模塊就是 py_compile 模塊。
使用方法非常簡單,如下所示,直接在idle中,就可以把一個py文件編譯為pyc文件了。(假設在windows環境下)

import py_compile
py_compile.compile(r'H:/game/test.py')

compile函數原型:
compile(file[, cfile[, dfile[, doraise]]])
file 表示需要編譯的py文件的路徑
cfile 表示編譯後的pyc文件名稱和路徑,默認為直接在file文件名後加c 或者 o,o表示優化的位元組碼
dfile 這個參數英文看不明白,請各位大大賜教。(鄙視下自己)原文:it is used as the name of the source file in error messages instead of file
doraise 可以是兩個值,True或者False,如果為True,則會引發一個PyCompileError,否則如果編譯文件出錯,則會有一個錯誤,默認顯示在sys.stderr中,而不會引發異常
(來自python2.5文檔)
批量生成pyc文件
一般來說,我們的工程都是在一個目錄下的,一般不會說僅僅編譯一個py文件而已,而是需要把整個文件夾下的py文件都編譯為pyc文件,python又為了我們提供了另一個模塊:compileall 。使用方法如下:

import compileall
compileall.compile_dir(r'H:/game')

這樣就把game目錄,以及其子目錄下的py文件編譯為pyc文件了。嘿嘿,夠方便吧。來看下compile_dir函數的說明:

compile_dir(dir[, maxlevels[, ddir[, force[, rx[, quiet]]]]])
dir 表示需要編譯的文件夾位置
maxlevels 表示需要遞歸編譯的子目錄的層數,默認是10層,即默認會把10層子目錄中的py文件編譯為pyc
ddir 英文沒明白,原文:it is used as the base path from which the filenames used in error messages will be generated。
force 如果為True,則會強制編譯為pyc,即使現在的pyc文件是最新的,還會強制編譯一次,pyc文件中包含有時間戳,python編譯器會根據時間來決定,是否需要重新生成一次pyc文件
rx 表示一個正則表達式,比如可以排除掉不想要的目錄,或者只有符合條件的目錄才進行編譯
quiet 如果為True,則編譯後,不會在標准輸出中,列印出信息
(來自python2.5文檔)
總結
通過上面的方法,可以方便的把py文件編譯為pyc文件了,從而可以實現部分的源碼隱藏,保證了python做商業化軟體時,保證了部分的安全性吧,繼續學習下,看怎麼修改opcode。

⑤ 什麼是pyc文件

pyc文件就是 Python 程序編譯後得到的位元組碼文件 (py->pyc).
pyc文件一般由3個部分組成:
最開始4個位元組是一個Maigc int, 標識此pyc的版本信息, 不同的版本的 Magic 都在 Python/import.c 內定義

接下來四個位元組還是個int,是pyc產生的時間(1970.01.01到產生pyc時候的秒數)
接下來是個序列化了的 PyCodeObject(此結構在 Include/code.h 內定義),序列化方法在 Python/marshal.c 內定義

⑥ 如何編譯生成PYC文件

Python語言編程中如何編譯生成PYC文件?(版本Python V 3.4.1)
(1) compile() 函數
compile() 函數有兩個, 一個是內建函數,另一個是模塊py_compile中的.前者生成一個Compile對象,它只能在代碼中被調用(exec(comp)),不能生成pyc文件。後者必須生成pyc文
件,但不能在交互界面運行它(run 和 exec都不行)。

(2) 生成生成pyc文件
compile(file, cfile=None, dfile=None, doraise=False, optimize=-1)
例子:
compile("test.py")
compile("test.py", "test.pyc")
第一種方法輸出文件在子目錄__pycache__中,而且文件名是test.python-34.pyc,有兩個點,不好!所以一定要用第二種格式輸出文件在當前當前目錄。其它選項都預設就行, -1 表示優化,所以pyo文件也不用去做了。

(3) pyc文件的運行
不能在python的交互界面中運行(run 和 exec都不行)。只能夠在DOS屏幕上運行, 格式為:
python test.pyc [argv]
在程序中調用可以用:
os.system ("python test.pyc ")

(4)內建函數compile()的語法
compile(source, filename, mode[, flags[, dont_inherit]]) -> code
object。
生成一個code對象。
例子:
yuju = "print('hello')"
hc = compile(yuju, "yuju.err", "single")
exec(hc)
輸出:hello
type(hc) --> code
使用時至少要提供3個參數,source是源代碼,它可以是語句、表達式或代碼文件。filename要求一個文件名儲存出錯信息,mode是編譯模式,只能使用如下3種:exec, eval, single。

⑦ python 怎麼編譯pyc文件

如下命令:

1
python -m compileall xxx.py
可以對當前目錄下的xxx.py文件生成pyc

⑧ PYC是什麼意思

pyc是一種二進制文件,是由py文件經過編譯後,生成的文件,是一種byte code,py文件變成pyc文件後,載入的速度有所提高,而且pyc是一種跨平台的位元組碼,是由python的虛擬機來執行的,這個是類似於JAVA或者.NET的虛擬機的概念。pyc的內容,是跟python的版本相關的,不同版本編譯後的pyc文件是不同的,2.5編譯的pyc文件,2.4版本的python是無法執行的。

不知你的PYC是在何種情境下看到的PYC····

⑨ python如何編譯生成二進制文件

1、可以
2、當你編輯運行py文件後,就會生成對應文件名的pyc文件。
3、pyc是一種二進制文件,是由py文件經過編譯後,生成的文件,是一種byte code,py文件變成pyc文件後,載入的速度有所提高,而且pyc是一種跨平台的位元組碼,是由python的虛擬機來執行的,這個是類似於JAVA或者.NET的虛擬機的概念。pyc的內容,是跟python的版本相關的,不同版本編譯後的pyc文件是不同的。
總之,是可以的

⑩ 如何編譯Python程序生成.pyc文件

pyc文件就是
py程序編譯後得到的位元組碼文件
(py->pyc),python為了提高運行效率也會進行編譯,有時候編譯出pyc文件後,刪除py文件也不會出錯助於pyc文件的產生,給樓主舉例加入你有一個邏輯文件abcd.py,裡面有很多函數A,B,C,D,這個時候,如果你有一個test腳本去導入了abcd.py,只要你運行test腳本,在adcd.py目錄下就會生成一個abcd.pyc文件,而不管你是否需要調用A,B,C,D函數

熱點內容
安卓主板哪裡有賣 發布:2025-03-15 19:26:10 瀏覽:29
Q9源碼 發布:2025-03-15 19:24:21 瀏覽:175
芬蘭編程教育 發布:2025-03-15 18:59:46 瀏覽:426
網際網路的伺服器地址 發布:2025-03-15 18:53:01 瀏覽:892
手機實體店什麼配置好 發布:2025-03-15 18:32:35 瀏覽:168
攜帶型電腦的原始密碼是什麼 發布:2025-03-15 18:25:52 瀏覽:798
壓縮空間小 發布:2025-03-15 18:14:05 瀏覽:848
env的腳本 發布:2025-03-15 18:01:24 瀏覽:730
圖片上傳雲端 發布:2025-03-15 17:37:26 瀏覽:460
郵件伺服器ip池 發布:2025-03-15 17:31:51 瀏覽:398