python中__pyc__文件的生成和作用

本文出自“阿敏其人”簡書博客,轉(zhuǎn)載請注明出處覆致。

文/阿敏其人


當(dāng)我們的python文件被編譯過侄旬,文件之間存在import關(guān)系,就會生成一個__pyc__文件夾篷朵。

比如我們新建一個工程勾怒,里面一共兩個py文件婆排。
分別是ttt.py和imp.py

ttt.py里面就只有一個方法声旺。
imp.py import了ttt。編譯過后段只,我們會看見多了一個__pyc__文件夾
.

imp.py

import ttt
ttt.sayHello()
image.png

內(nèi)部


image.png

一腮猖、存在的意義

主要意義:加快啟動速度

原因

Python 在解釋源程序時分為兩步:

  • 第一步:將源碼轉(zhuǎn)為字節(jié)碼
  • 第二步:將字節(jié)碼轉(zhuǎn)換為機器碼
image.png

pyc 文件是由 Python 解釋器將 模塊的源碼 轉(zhuǎn)換為 字節(jié)碼。
(pyc赞枕,py代表pychon澈缺,c 是 compiled的含義,pyc即編譯過的python文件 )

當(dāng)我們的程序沒有修改過炕婶,那么下次運行程序的時候姐赡,就可以跳過 從源碼到字節(jié)碼 的過程,直接加載 pyc 文件柠掂。

二项滑、命令生成 pyc 文件

生成單個pyc文件

對于py文件,可以執(zhí)行下面命令來生成pyc文件涯贞。

python -m test.py

另外一種方式是通過代碼來生成pyc文件枪狂。

import py_compile
py_compile.compile('/path/test.py')

批量生成pyc文件

針對一個目錄下所有的py文件進行編譯危喉。python提供了一個模塊叫compileall,具體請看下面代碼:

import compileall
compileall.compile_dir(r'/path')

這個函數(shù)的格式如下:

compile_dir(dir[, maxlevels[, ddir[, force[, rx[, quiet]]]]])

三州疾、注意點

  • 1辜限、import過的文件才會自動生成 pyc文件。
  • 2严蓖、pyc文件不可以直接看到源碼薄嫡,可以被反編譯
  • 3、pyc的內(nèi)容谈飒,是跟python的版本相關(guān)的岂座,不同 版本編譯后的pyc文件是不同的,2.5編譯的pyc文件杭措,2.4版本的python是無法執(zhí)行的

END

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末费什,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子手素,更是在濱河造成了極大的恐慌鸳址,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件泉懦,死亡現(xiàn)場離奇詭異稿黍,居然都是意外死亡,警方通過查閱死者的電腦和手機崩哩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門巡球,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人邓嘹,你說我怎么就攤上這事酣栈。” “怎么了汹押?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵矿筝,是天一觀的道長。 經(jīng)常有香客問我棚贾,道長窖维,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任妙痹,我火速辦了婚禮铸史,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘怯伊。我一直安慰自己琳轿,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著利赋,像睡著了一般水评。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上媚送,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天中燥,我揣著相機與錄音,去河邊找鬼塘偎。 笑死疗涉,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的吟秩。 我是一名探鬼主播咱扣,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼涵防!你這毒婦竟也來了闹伪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤壮池,失蹤者是張志新(化名)和其女友劉穎偏瓤,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體椰憋,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡厅克,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了橙依。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片证舟。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖窗骑,靈堂內(nèi)的尸體忽然破棺而出女责,到底是詐尸還是另有隱情,我是刑警寧澤慧域,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布鲤竹,位于F島的核電站浪读,受9級特大地震影響昔榴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜碘橘,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一互订、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧痘拆,春花似錦仰禽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽规揪。三九已至,卻和暖如春温峭,著一層夾襖步出監(jiān)牢的瞬間猛铅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工凤藏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留奸忽,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓揖庄,卻偏偏與公主長得像栗菜,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蹄梢,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容