麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

跟老齊學Python之模塊的加載

2020-02-23 06:07:39
字體:
來源:轉載
供稿:網友

不管是用import還是用from mmmm import *的方式導入模塊,當程序運行之后,回頭在看那個存儲著mmmm.py文件的目錄中(關于mmmm.py文件可以看上一講),多了一個文件:

qw@qw-Latitude-E4300:~/Documents/ITArticles/BasicPython/codes$ ls mmm*mmmm.py mmmm.pyc
在這個目錄下面,除了原來的那個mmmm.py之外,又多了一個mmmm.pyc文件,這個文件不是我寫的,是哪里來的呢?

要破開此迷,需要用import的過程說起。

import的工作流程

import mmmm,并不是僅僅將mmmm.py這個文件裝載到當前位置(文件內),其實是首先進行了一次運算。當mmmm.py被第一次導入的時候,python首先要對其進行編譯,生成擴展名為.pyc的同名文件,然后才執行mmmm模塊的代碼,創建相應的對象等。就如同把大象裝進冰箱,有三步要執行:

搜索。就是python要能夠找到import的模塊。怎么找到,后面講述。編譯。找到模塊文件之后,將其編譯成字節碼,就是那個.pyc文件里面的(關于字節碼,下面會介紹,請繼續閱讀)。注意,不是什么時候都編譯的,只有第一次運行時候才編譯,如果mmmm.py文件改變了,相當于又一個新文件,也會從新編譯。其實就是.pyc文件中有一個時間戳,python會自動檢查這個時間戳,如果它比同名的.py文件時間戳舊,就會從新編譯。否則跳過。當然,如果根本就沒有找到同名的.py源文件,只有字節碼文件.pyc,那么就只能運行這個了。運行。這就沒什么好說的了,生米已經淘干凈了,并且放到鍋里,開始加熱了,最后就只能熟飯了。執行就是前面已經編譯的模塊字節碼文件,順理成章要執行了。搜索模塊

一般情況下,python會自動的完成模塊搜索過程。但是,在某些情況下,或許會要求程序員來設定搜索路徑。當import一個模塊后,python會按照下面的順序來找那個將要導入的模塊文件

程序的主目錄。上一講中,在codes這個目錄中運行交互模式,這時候的主目錄就是codes,當在那個交互模式中運行import mmmm的時候,就首先在codes這個目錄中搜索相應的文件(找到.py之后編譯成為.pyc)。當然,后面在網頁編程中,看官會看到,所謂主目錄是可以通過頂層文件設置的目錄。PYTHONPATH目錄。這是一個環境變量設置,如果沒有設置則濾去。如何進行環境變量設置,請看官google啦。標準庫目錄。已經隨著Python的安裝進入到計算機中的那個。任何.pth文件的內容。如果有這類文件,最后要在這類文件中搜索一下。這是一個簡單的方法,在.pth文件中,加入有效目錄,使之成為搜索路徑。下圖就是我的計算機上,存放.pth文件的位置以及里面放著的.pth文件

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 2023av在线视频 | 久久99国产精品久久 | 国产精品一区二区免费在线观看 | 91黄瓜视频 | 2019亚洲日韩新视频 | 色玖玖综合 | 国产精选久久久 | 久国产精品视频 | 思思久而久而蕉人 | av在线免费不卡 | 91嫩草丨国产丨精品入口 | 龙床上的呻吟高h | 日韩午夜片 | 欧美三级日本三级少妇99 | 日产精品一区二区三区在线观看 | 国产一区二区三区四区五区在线 | 暴力强行进如hdxxx | 一区二区三区欧美日韩 | 免费视频99 | 日韩av有码在线 | 337p日本欧洲亚洲大胆精蜜臀 | 免费a视频 | 色悠悠久久久久 | 精品国产一区二区三区四 | 久久久久久久.comav | www.91sao| 亚洲热线99精品视频 | 日本a∨精品中文字幕在线 狠狠干精品视频 | 免费在线中文字幕 | 媚药按摩痉挛w中文字幕 | 91精品国产九九九久久久亚洲 | 国产亲子伦在线观看 | 一本色道久久综合狠狠躁篇适合什么人看 | 国产99视频精品免视看9 | 成av在线| 亚洲最大的成人网 | 91香草视频 | 欧美一级二级毛片视频 | 欧美在线观看禁18 | 黄色网址在线免费播放 | 天堂成人国产精品一区 |