国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python模塊搜索概念介紹及模塊安裝方法介紹

2020-02-23 01:31:19
字體:
來源:轉載
供稿:網友

【import模塊】

和C中的#include不同,Python中的import語句并不是簡單的把一個文件插入另外一個文件。
導入其實是運行時的運算,程序第一次導入指定文件時,會執行以下步驟,

1. 找到模塊文件
2. 編譯成位碼
3. 執行模塊中的代碼來創建所定義的模塊

并生成.pyc字節碼文件,這三個步驟只在程序執行時,模塊第一次導入時會進行。之后導入相同的模塊時,會跳過這三個步驟,而只提取內存中已加載的模塊對象,速度要快的多。
NOTE:

1. Python把已加載的模塊放在內置的sys.modules字典中,在import操作開始時會確認引用的模塊是否已加載。如果想看哪些模塊已加載,可以導入sys,打印sys.modules.keys()
代碼如下:
>>> sys.modules.keys() 
['heapq', 'functools', 'pyreadline.console.ansi',...,'pyreadline.modes'] 

2. 可以import的四種文件類型

1.源文件(.py)
2.字節碼文件(.pyc)
3.C擴展文件(Windows: .dll或.pyd文件 | Linux: .so文件)
4.相同變量名的目錄(用于包導入)

【搜索路徑】

比如說:import math,不需要加路徑和后綴名,系統會自動搜索路徑,按照搜索先后順序,列出模塊搜索路徑.

1. 程序的主目錄(程序當前運行的目錄)
2. PYTHONPATH目錄(在環境變量里面配置與加到Path中一樣)
3. 標準庫目錄(比如說: C:/Python27/Lib)
4. .pth文件所在內容(一般放在Lib/site-packages目錄下,如下:easy-install.pth)

代碼如下:
import sys; sys.__plen = len(sys.path) 
./setuptools-0.6c11-py2.7.egg 
./py-1.4.26-py2.7.egg 
./sphinx-1.3b1-py2.7.egg 
./colorama-0.3.2-py2.7.egg 
./babel-1.3-py2.7.egg 
./snowballstemmer-1.2.0-py2.7.egg 
./docutils-0.12-py2.7.egg 
./pygments-2.0.1-py2.7.egg 
./jinja2-2.7.3-py2.7.egg 
./six-1.8.0-py2.7.egg 
./pytz-2014.9-py2.7.egg 
./markupsafe-0.23-py2.7.egg 
./pyzmq-14.4.1-py2.7-win-amd64.egg 
./tornado-4.0.2-py2.7-win-amd64.egg 
./backports.ssl_match_hostname-3.4.0.2-py2.7.egg 
./certifi-14.05.14-py2.7.egg 
./egg-0.2.0-py2.7.egg 
./chicken-0.1.0-py2.7.egg 
import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new) 

而所有這些路徑可以通過sys.path來看到
代碼如下:
>>> import sys 
>>> sys.path 
['', 'C://Python27//lib//site-packages//setuptools-0.6c11-py2.7.egg', ...,'C://Python27//lib//site-packages//wx-3.0-msw'] 

臨時的工作路徑加載,可以用
代碼如下:
>>> sys.path.append('d://test') 
>>> sys.path 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广河县| 利津县| 洪湖市| 喀什市| 呼和浩特市| 垫江县| 临桂县| 巴彦县| 山丹县| 东城区| 阜新市| 清徐县| 临夏市| 沙雅县| 大渡口区| 沙田区| 铅山县| 天镇县| 巫溪县| 霍城县| 卓资县| 德安县| 嘉黎县| 南和县| 桐柏县| 万山特区| 阳西县| 麻栗坡县| 综艺| 河南省| 渝中区| 呼图壁县| 蒙城县| 新安县| 长沙县| 芒康县| 芒康县| 景东| 竹北市| 蓝田县| 布尔津县|