一、匯入模組有三種情況:
按照匯入時的順序最好為:
1.python標準庫模組
2.python第三方模組
3.應用程式自定義模組
二.自定義模組在呼叫的時候需要注意:
1.如果自定義模組與主程式在乙個目錄下,則可以直接import module。
2.如果匯入的模組是在主程式所在目錄的子目錄下,可以在子目錄中增加乙個空白的__init__.py檔案,該檔案使得python直譯器將子目錄整個也當成乙個模組,然後直接通過「import 子目錄.模組」匯入即可。
3.如果匯入的模組是在主程式所在目錄的父目錄下,則要通過修改path來解決,有兩種方法:
(b)直接修改環境變數:在windows中是 「 set 變數=『路徑』 」 例如:set pythonpath=『c:\test\...』 檢視是否設定成功用echo %pythonpath%,而且進到python直譯器中檢視sys.path,會發現已經有了新增加的路徑了。這 種方式是永久的,一次設定以後一直都有效。在linux中是 "export 變數=『路徑』 「,檢視是" echo $變數 "
通過修改path是通用的方法,因為python直譯器就是通過sys.path去乙個地方乙個地方的尋找模組的。
三.import module 和from module import 的區別
python匯入模組的方法有兩種:import module 和 from module import,區別是前者所有匯入的東西使用時需加上模組名的限定,而後者不要。
更深層次的原因是:呼叫from-import可以將名字匯入到當前的命名空間(也就是主程式的變數空間)中,這意味著你不需要使用屬性/句點屬性標識來訪問模組的識別符號。
例如:from module import var #var是module中的乙個屬性
那麼我們使用單個的var就可以訪問他自身。
如果直接用import module 然後直接使用屬性名訪問,就會出現這樣的錯誤:
traceback (most recent call last):
file "", line 1, in
s=stack(20)
typeerror: 'module' object is not callable
當然你也可以將指定模組的所有名稱匯入到當前的命名空間中。
from module import *
但是這不是推薦的程式設計風格,因為module中的某些名稱可能會覆蓋本來已經存在的名稱,造成當前命名空間的汙染。我們只在兩種場合下使用這樣的方法:1.目標模組的屬性非常多,反覆鍵入模組名很不方便,如socket模組;2.在互動結束器下,因為這樣可以減少輸入次數。
python匯入自定義模組
原文章路徑 上網查了下資料和自己實驗了下,有幾個方法 1.如果匯入的模組和主程式在同個目錄下,直接import就行了 2.如果匯入的模組是在主程式所在目錄的子目錄下,可以在子目錄中增加乙個空白的 init py檔案,該檔案使得python直譯器將子目錄整個也當成乙個模組,然後直接通過 import ...
Python匯入自定義模組
第一種 這裡有個大前提,就是你的py執行檔案和模組同屬於同個目錄 父級目錄 如下圖 function和dataprepare在同乙個目錄下,則可以在dataprepare中直接import 呼叫如下 from function import 第二種 執行的py檔案和模組在不同目錄下 執行檔案main...
python自定義包及模組的匯入
設定工作目錄 import os workdir 這裡填工作區目錄 os.chdir workdir 把自定義模組的路徑直接加入環境變數 import sys moduledir workdir 這裡填模組檔案或包的相對路徑 編譯相關.py檔案,確保 語法正確 import py compile f...